Função NdisFRegisterFilterDriver (ndis.h)

Um driver de filtro chama a função NdisFRegisterFilterDriver para registrar suas funções FilterXxx com NDIS.

Sintaxe

NDIS_STATUS NdisFRegisterFilterDriver(
  [in]  PDRIVER_OBJECT                      DriverObject,
  [in]  NDIS_HANDLE                         FilterDriverContext,
        PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
  [out] PNDIS_HANDLE                        NdisFilterDriverHandle
);

Parâmetros

[in] DriverObject

Um ponteiro para um objeto driver opaco que o driver de filtro recebeu em sua rotina DriverEntry no parâmetro Argument1 . (Para obter mais informações, consulte DriverEntry of NDIS Filter Drivers.)

[in] FilterDriverContext

Um identificador para uma área de contexto alocada pelo driver em que o driver mantém informações de estado e configuração.

FilterDriverCharacteristics

Um ponteiro para uma estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS que o driver de filtro criou e inicializou com seus pontos de entrada de função FilterXxx .

[out] NdisFilterDriverHandle

Um ponteiro para uma variável de identificador. Se a chamada para NdisFRegisterFilterDriver for bem-sucedida, o NDIS preencherá essa variável com um identificador de driver de filtro. O driver de filtro salva esse identificador e, posteriormente, passa esse identificador para funções NDIS, como NdisFDeregisterFilterDriver, que exigem um identificador de driver de filtro como um parâmetro de entrada.

Valor retornado

NdisFRegisterFilterDriver retorna um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS

O NdisFRegisterFilterDriver retornará NDIS_STATUS_SUCCESS se registrou o driver de filtro.

NDIS_STATUS_BAD_VERSION
A versão especificada no membro MajorNdisVersion da estrutura em FilterCharacteristics é inválida.
NDIS_STATUS_BAD_CHARACTERISTICS
Pelo menos um dos membros especificados em NDIS_FILTER_DRIVER_CHARACTERISTICS é inválido.
NDIS_STATUS_INVALID_PARAMETER
Pelo menos um dos parâmetros de entrada que o driver passou para o NdisFRegisterFilterDriver é inválido.
NDIS_STATUS_RESOURCES

Falha no NdisFRegisterFilterDriver devido a recursos insuficientes.

NDIS_STATUS_FAILURE

O NdisFRegisterFilterDriver retornará NDIS_STATUS_FAILURE se nenhum dos valores anteriores se aplicar.

Comentários

Um driver de filtro chama a função NdisFRegisterFilterDriver de sua rotina DriverEntry . Para obter mais informações sobre DriverEntry, consulte DriverEntry of NDIS Filter Drivers.

Os drivers que chamam NdisFRegisterFilterDriver devem estar preparados para uma chamada imediata para qualquer uma de suas funções FilterXxx . Para obter mais informações, consulte Inicializando um Driver de Filtro.

Cada driver de filtro exporta um conjunto de funções FilterXxx configurando a estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS e chamando NdisFRegisterFilterDriver. O NDIS copia essa estrutura para o armazenamento interno da biblioteca NDIS.

Para permitir que os drivers de filtro registrem serviços opcionais, o NDIS chama a função FilterSetOptions no contexto do NdisFRegisterFilterDriver.

Depois de registrado, um driver de filtro poderá chamar posteriormente a função NdisSetOptionalHandlers para alterar os pontos de entrada para funções filterXxx opcionais.

Os drivers de filtro chamam a função NdisFDeregisterFilterDriver para liberar recursos que foram alocados anteriormente com o NdisFRegisterFilterDriver.

Requisitos

   
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Área de trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL PASSIVE_LEVEL
Regras de conformidade DDI Irql_Filter_Driver_Function(ndis), NdisFDeregisterFilterDriver(ndis)

Confira também

DriverEntry de drivers de filtro NDIS

FilterAttach

Inicializando um driver de filtro

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers