Compartilhar via


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 FltCloseClientPort para fechar essa porta cliente, normalmente de sua rotina de DisconnectNotifyCallback.

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

Consulte também

FilterConnectCommunicationPort

FltCloseClientPort

FltCreateCommunicationPort

FltSendMessage

DisconnectNotifyCallback

MessageNotifyCallback