Función NdisRegisterProtocolDriver (ndis.h)

Un controlador de protocolo llama a la función NdisRegisterProtocolDriver para registrar sus funciones ProtocolXxx con NDIS.

Sintaxis

NDIS_STATUS NdisRegisterProtocolDriver(
  [in, optional] NDIS_HANDLE                           ProtocolDriverContext,
  [in]           PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
  [out]          PNDIS_HANDLE                          NdisProtocolHandle
);

Parámetros

[in, optional] ProtocolDriverContext

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

[in] ProtocolCharacteristics

Puntero a un NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estructura que el controlador de protocolo creó e inicializó con sus puntos de entrada de función ProtocolXxx .

[out] NdisProtocolHandle

Puntero a una variable de identificador proporcionada por el autor de la llamada. NDIS escribe un identificador en esta variable que identifica de forma única el controlador que se registra. El controlador debe guardar este identificador para su uso en llamadas de función NdisXxx posteriores.

Valor devuelto

NdisRegisterProtocolDriver devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_SUCCESS

NdisRegisterProtocolDriver devuelve NDIS_STATUS_SUCCESS si registró el controlador de protocolo.

NDIS_STATUS_BAD_VERSION
La versión especificada en el miembro MajorNdisVersion de la estructura en ProtocolCharacteristics no es válida.
NDIS_STATUS_BAD_CHARACTERISTICS
Algunos miembros de la estructura en el parámetro ProtocolCharacteristics no son válidos .
NDIS_STATUS_RESOURCES

Error de NdisRegisterProtocolDriver debido a recursos insuficientes.

NDIS_STATUS_FAILURE

NdisRegisterProtocolDriver devuelve NDIS_STATUS_FAILURE si no se aplica ninguno de los valores anteriores.

Comentarios

Un controlador de protocolo llama a la función NdisRegisterProtocolDriver desde su rutina DriverEntry . Para obtener más información sobre DriverEntry, vea DriverEntry of NDIS Protocol Drivers.

Los controladores que llaman a NdisRegisterProtocolDriver deben estar preparados para una llamada inmediata a cualquiera de sus funciones ProtocolXxx .

Cada controlador de protocolo exporta un conjunto de funciones ProtocolXxx mediante la configuración de NDIS_PROTOCOL_DRIVER_CHARACTERISTICS estructura y llamada a NdisRegisterProtocolDriver. NDIS copia esta estructura en el almacenamiento interno de la biblioteca NDIS.

Para permitir que los controladores de protocolo registren servicios opcionales, NDIS llama a la función ProtocolSetOptions dentro del contexto de NdisRegisterProtocolDriver.

Los controladores de protocolo llaman a Función NdisDeregisterProtocolDriver para liberar los recursos asignados anteriormente con NdisRegisterProtocolDriver.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en 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_Protocol_Driver_Function(ndis)

Consulte también

DriverEntry de controladores de protocolo NDIS

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS

NdisDeregisterProtocolDriver

NdisSetOptionalHandlers