Compartir a través de


Función NdisFRegisterFilterDriver (ndis.h)

Un controlador de filtro llama a función NdisFRegisterFilterDriver para registrar sus funciones de FilterXxx con NDIS.

Sintaxis

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

Parámetros

[in] DriverObject

Puntero a un objeto de controlador opaco que el controlador de filtro recibió en su rutina de DriverEntry en el parámetro Argument1. (Para obtener más información, vea DriverEntry of NDIS Filter Drivers).)

[in] FilterDriverContext

Identificador de un área de contexto asignada por el controlador donde el controlador mantiene la información de estado y configuración.

FilterDriverCharacteristics

Puntero a un NDIS_FILTER_DRIVER_CHARACTERISTICS estructura que creó e inicializó el controlador de filtro con sus puntos de entrada de función filterXxx .

[out] NdisFilterDriverHandle

Puntero a una variable de identificador. Si la llamada a NdisFRegisterFilterDriver se realiza correctamente, NDIS rellena esta variable con un identificador de controlador de filtro. El controlador de filtro guarda este identificador y, posteriormente, pasa este identificador a funciones NDIS, como NdisFDeregisterFilterDriver, que requieren un controlador de filtro como parámetro de entrada.

Valor devuelto

NdisFRegisterFilterDriver devuelve uno de los siguientes valores de estado:
Código devuelto Descripción
NDIS_STATUS_SUCCESS
NdisFRegisterFilterDriver devuelve NDIS_STATUS_SUCCESS si registró el controlador de filtro.
NDIS_STATUS_BAD_VERSION
La versión especificada en el miembro majorNdisVersion de la estructura en FilterCharacteristics no es válida.
NDIS_STATUS_BAD_CHARACTERISTICS
Al menos uno de los miembros especificados en NDIS_FILTER_DRIVER_CHARACTERISTICS no es válido.
NDIS_STATUS_INVALID_PARAMETER
Al menos uno de los parámetros de entrada que el controlador pasó a NdisFRegisterFilterDriver no es válido.
NDIS_STATUS_RESOURCES
error de NdisFRegisterFilterDriver debido a recursos insuficientes.
NDIS_STATUS_FAILURE
NdisFRegisterFilterDriver devuelve NDIS_STATUS_FAILURE si no se aplica ninguno de los valores anteriores.

Observaciones

Un controlador de filtro llama a función NdisFRegisterFilterDriver de su rutina de DriverEntry. Para obtener más información sobre DriverEntry, vea DriverEntry of NDIS Filter Drivers.

Los controladores que llaman a NdisFRegisterFilterDriver deben estar preparados para una llamada inmediata a cualquiera de sus funciones de FilterXxx. Para obtener más información, vea Inicializar un controlador de filtro.

Cada controlador de filtro exporta un conjunto de funciones de FilterXxx mediante la configuración de estructura y llamada de NDIS_FILTER_DRIVER_CHARACTERISTICS NdisFRegisterFilterDriver. NDIS copia esta estructura en el almacenamiento interno de la biblioteca NDIS.

Para permitir que los controladores de filtro registren servicios opcionales, NDIS llama a la función FilterSetOptions dentro del contexto de . NdisFRegisterFilterDriver.

Una vez registrado, un controlador de filtro puede llamar posteriormente a la función NdisSetOptionalHandlers para cambiar los puntos de entrada de las funciones opcionales FilterXxx.

Los controladores de filtro llaman a función NdisFDeregisterFilterDriver para liberar recursos asignados previamente con NdisFRegisterFilterDriver.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI Irql_Filter_Driver_Function(ndis), NdisFDeregisterFilterDriver(ndis)

Consulte también

DriverEntry de controladores de filtro NDIS

FilterAttach

inicializar un controlador de filtro

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers