Função NdisFRegisterFilterDriver (ndis.h)

Um driver de filtro chama o 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 um NDIS_FILTER_DRIVER_CHARACTERISTICS estrutura 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 é bem-sucedido, o NDIS preenche 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.

Retornar valor

NdisFRegisterFilterDriver retorna um dos seguintes valores de status:
Código de retorno Descrição
NDIS_STATUS_SUCCESS
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 para os quais o driver passou NdisFRegisterFilterDriver é inválido.
NDIS_STATUS_RESOURCES
NdisFRegisterFilterDriver falhou devido a recursos insuficientes.
NDIS_STATUS_FAILURE
NdisFRegisterFilterDriver retornará NDIS_STATUS_FAILURE se nenhum dos valores anteriores se aplicar.

Comentários

Um driver de filtro chama o 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 o NDIS_FILTER_DRIVER_CHARACTERISTICS estrutura e chamada NdisFRegisterFilterDriver. O NDIS copia essa estrutura para o armazenamento interno da biblioteca NDIS.

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

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

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

Requisitos

Requisito Valor
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 de 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