PFLT_CONNECT_NOTIFY callback function (fltkernel.h)
FltMgr calls a minifilter's ConnectNotifyCallback callback function to notify the minifilter when a new connection to a communication port is being requested.
Syntax
PFLT_CONNECT_NOTIFY PfltConnectNotify;
NTSTATUS PfltConnectNotify(
PFLT_PORT ClientPort,
PVOID ServerPortCookie,
PVOID ConnectionContext,
ULONG SizeOfContext,
PVOID *ConnectionPortCookie
)
{...}
Parameters
ClientPort
[in] Opaque, FltMgr-generated handle for the new client port that is being established between the user-mode application and the kernel-mode minifilter.
The minifilter must pass this handle as the ClientPort parameter to FltSendMessage when sending and replying to messages on this client port.
The minifilter must eventually call FltCloseClientPort to close this client port, typically from its DisconnectNotifyCallback routine.
ClientPort isn't the same as the ServerPort handle return byFltCreateCommunicationPort.
ServerPortCookie
[in] Pointer to context information defined by the minifilter. The minifilter can use this information to distinguish among multiple communication server ports that it might create. When the server port was created, the minifilter driver passed this context pointer as the ServerPortCookie parameter to FltCreateCommunicationPort.
ConnectionContext
[in] Context information pointer that the user-mode application passed in the lpContext parameter to FilterConnectCommunicationPort.
SizeOfContext
[in] Size, in bytes, of the buffer that ConnectionContext points to.
ConnectionPortCookie
[out] Pointer to the miniport's information that uniquely identifies this client port. The minifilter can use this cookie to identify the connection when FltMgr passes it in subsequent calls to MessageNotifyCallback and DisconnectNotifyCallback.
Return value
ConnectNotifyCallback returns STATUS_SUCCESS if the operation succeeds and the connection has been accepted. Otherwise, it returns an appropriate NTSTATUS value such as:
Return code | Meaning |
---|---|
STATUS_INSUFFICIENT_RESOURCES | There aren't enough resources to complete the operation. |
STATUS_INVALID_PARAMETER | One or more of the input parameters are invalid. |
Remarks
FltMgr calls this routine whenever a user-mode application calls FilterConnectCommunicationPort to send a connection request to the minifilter driver.
The minifilter should perform any necessary validation of the connection attempt.
For more information, see Communication between user-mode and minifilters.
Requirements
Requirement | Value |
---|---|
Header | fltkernel.h |
Library | FltMgr.lib |
DLL | FltMgr.sys |
IRQL | PASSIVE_LEVEL |