Поделиться через


функция обратного вызова PFLT_CONNECT_NOTIFY (fltkernel.h)

функция обратного вызова FltMgr вызывает функцию обратного вызова ConnectNotifyCall back, чтобы уведомить мини-фильтр при запросе нового подключения к порту связи.

Синтаксис

PFLT_CONNECT_NOTIFY PfltConnectNotify;

NTSTATUS PfltConnectNotify(
  PFLT_PORT ClientPort,
  PVOID ServerPortCookie,
  PVOID ConnectionContext,
  ULONG SizeOfContext,
  PVOID *ConnectionPortCookie
)
{...}

Параметры

ClientPort

[in] Непрозрачный, FltMgr- созданный дескриптор нового клиентского порта, который устанавливается между приложением пользовательского режима и мини-фильтром в режиме ядра.

Минифильтр должен передать этот дескриптор в качестве параметра ClientPortFltSendMessage при отправке и ответе на сообщения на этом клиентском порту.

Минифильтр должен в конечном итоге вызвать FltCloseCloseClientPort, чтобы закрыть этот клиентский порт, как правило, из его подпрограммы DisconnectNotifyCallback.

ClientPort не совпадает с дескриптором ServerPort , возвращаемымFltCreateCommunicationPort.

ServerPortCookie

[in] Указатель на сведения о контексте, определенные мини-фильтром. Минифильтр может использовать эти сведения для различения нескольких портов сервера коммуникации, которые он может создать. При создании порта сервера драйвер минифильтра передал этот указатель контекста в качестве параметра ServerPortCookie в FltCreateCommunicationPort.

ConnectionContext

[in] Указатель сведений о контексте, который приложение пользовательского режима передало в параметре lpContext, чтобы FilterConnectCommunicationPort.

SizeOfContext

[in] Размер в байтах буфера, на который ConnectionContext указывает.

ConnectionPortCookie

[out] Указатель на сведения минипорта, которые однозначно идентифицируют этот клиентский порт. Минифильтр может использовать этот файл cookie для идентификации подключения, если FltMgr передает его в последующих вызовах MessageNotifyCallback и DisconnectNotifyCallback.

Возвращаемое значение

ConnectNotifyCallback возвращает STATUS_SUCCESS, если операция выполнена успешно, и подключение принято. В противном случае возвращает соответствующее значение NTSTATUS, например:

Возвращаемый код Значение
STATUS_INSUFFICIENT_RESOURCES Для завершения операции недостаточно ресурсов.
STATUS_INVALID_PARAMETER Один или несколько входных параметров недопустимы.

Замечания

FltMgr вызывает эту процедуру, когда приложение в режиме пользователя вызывает FilterConnectCommunicationPort для отправки запроса на подключение к драйверу минифильтра.

Минифильтр должен выполнить любую необходимую проверку попытки подключения.

Дополнительные сведения см. в разделе Обмен данными между пользовательским режимом и минифильтрами.

Требования

Требование Ценность
заголовка fltkernel.h
библиотеки FltMgr.lib
DLL FltMgr.sys
IRQL PASSIVE_LEVEL

См. также

FilterConnectCommunicationPort

FltCloseClientPort

FltCreateCommunicationPort

FltSendMessage

DisconnectNotifyCallback

MessageNotifyCallback