функция обратного вызова 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 |