PFLT_CONNECT_NOTIFY função de retorno de chamada (fltkernel.h)
do FltMgr chama a função de retorno de chamada ConnectNotifyCallback de um minifiltro para notificar o minifiltro quando uma nova conexão com uma porta de comunicação estiver sendo solicitada.
Sintaxe
PFLT_CONNECT_NOTIFY PfltConnectNotify;
NTSTATUS PfltConnectNotify(
PFLT_PORT ClientPort,
PVOID ServerPortCookie,
PVOID ConnectionContext,
ULONG SizeOfContext,
PVOID *ConnectionPortCookie
)
{...}
Parâmetros
ClientPort
[in] Opaco, o identificadorgerado por FltMgr para a nova porta do cliente que está sendo estabelecida entre o aplicativo do modo de usuário e o minifiltro no modo kernel.
O minifiltro deve passar esse identificador como o parâmetro ClientPort para FltSendMessage ao enviar e responder mensagens nesta porta do cliente.
O minifiltro deve eventualmente chamar
ClientPort não é o mesmo que o ServerPort o retorno do identificadorFltCreateCommunicationPort.
ServerPortCookie
[in] Ponteiro para informações de contexto definidas pelo minifiltro. O minifiltro pode usar essas informações para distinguir entre várias portas de servidor de comunicação que ele pode criar. Quando a porta do servidor foi criada, o driver de minifiltro passou esse ponteiro de contexto como o parâmetro ServerPortCookie para FltCreateCommunicationPort.
ConnectionContext
[in] Ponteiro de informações de contexto que o aplicativo de modo de usuário passou no parâmetro lpContext para FilterConnectCommunicationPort.
SizeOfContext
[in] Tamanho, em bytes, do buffer para o qual ConnectionContext aponta.
ConnectionPortCookie
[out] Ponteiro para as informações do miniporto que identifica exclusivamente essa porta do cliente. O minifiltro pode usar esse cookie para identificar a conexão quando fltMgr passá-la em chamadas subsequentes para MessageNotifyCallback e DisconnectNotifyCallback.
Valor de retorno
ConnectNotifyCallback retorna STATUS_SUCCESS se a operação for bem-sucedida e a conexão tiver sido aceita. Caso contrário, ele retornará um valor NTSTATUS apropriado, como:
Código de retorno | Significado |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Não há recursos suficientes para concluir a operação. |
STATUS_INVALID_PARAMETER | Um ou mais dos parâmetros de entrada são inválidos. |
Observações
fltMgr chama essa rotina sempre que um aplicativo de modo de usuário chama FilterConnectCommunicationPort para enviar uma solicitação de conexão para o driver de minifiltro.
O minifiltro deve executar qualquer validação necessária da tentativa de conexão.
Para obter mais informações, consulte Comunicação entre o modo de usuário e os minifiltros.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | fltkernel.h |
biblioteca | FltMgr.lib |
de DLL |
FltMgr.sys |
IRQL | PASSIVE_LEVEL |