Función NdisFRegisterFilterDriver (ndis.h)

Un controlador de filtro llama a Función NdisFRegisterFilterDriver para registrar sus funciones 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 DriverEntry en el parámetro Argument1 . (Para obtener más información, consulte DriverEntry of NDIS Filter Drivers).)

[in] FilterDriverContext

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

FilterDriverCharacteristics

Puntero a un NDIS_FILTER_DRIVER_CHARACTERISTICS estructura que el controlador de filtro creó e inicializó 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.

Comentarios

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

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

Cada controlador de filtro exporta un conjunto de funciones FilterXxx mediante la configuración de NDIS_FILTER_DRIVER_CHARACTERISTICS estructura y llamada 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 anteriormente con NdisFRegisterFilterDriver.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library 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

Inicialización de un controlador de filtro

NDIS_FILTER_DRIVER_CHARACTERISTICS

NdisFDeregisterFilterDriver

NdisSetOptionalHandlers