Ошибка = 0x801F0020 FilterReplyMessage ‘error_flt_no_waiter_for_reply’ драйвер минифильтра

Я пытаюсь подключиться и ответить на файл драйвера минифильтра. Для связи я использую это

hr = FilterConnectCommunicationPort(MyPortName,0,NULL, 0,NULL, &port);
completion = CreateIoCompletionPort(port,NULL,0,1);

FilterGetMessage для получения сообщения я использую это:

hr = FilterReplyMessage(context.Port(PFILTER_REPLY_HEADER)&replyMessage.ReplyHeader,My_REPLY_MESSAGE_SIZE);

Эти функции работают нормально, но некоторое время FilterReplyMessage отнимает время и выдает ошибку Error = 0x801F0020

Поскольку это случайная проблема, мы не можем выяснить, что происходит.

-2

Решение

Нашел решение. Установите тайм-аут как последний параметр в FltSendMessage в коде драйвера. Это заставит его ждать только до истечения времени ожидания, а не бесконечно, пока клиент не отправит ответ.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]