Compartir a través de


Función NdisIfRegisterProvider (ndis.h)

La función NdisIfRegisterProvider registra un proveedor de interfaz de red NDIS.

Sintaxis

NDIS_STATUS NdisIfRegisterProvider(
  [in] PNDIS_IF_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in] NDIS_HANDLE                       IfProviderContext,
       PNDIS_HANDLE                      pNdisIfProviderHandle
);

Parámetros

[in] ProviderCharacteristics

Puntero a un llamador proporcionado NDIS_IF_PROVIDER_CHARACTERISTICS estructura. Esta estructura define las características del proveedor, incluidos los puntos de entrada para sus funciones de devolución de llamada del proveedor.

[in] IfProviderContext

Identificador de un área de contexto proporcionada por el autor de la llamada para este proveedor de interfaz de red. Establezca este parámetro en NULL si no hay ningún área de contexto.

pNdisIfProviderHandle

Puntero a una variable de identificador proporcionada por el autor de la llamada. Si la operación de registro se realiza correctamente, NDIS escribe un identificador en esta variable que identifica el proveedor de la interfaz de red. El proveedor de interfaz debe conservar este identificador para su uso en llamadas posteriores que requieren un identificador de proveedor de interfaz.

Valor devuelto

NdisIfRegisterProvider devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
La operación se ha completado correctamente.
NDIS_STATUS_RESOURCES
Error en la operación debido a recursos insuficientes.
NDIS_STATUS_INVALID_PARAMETER
NdisIfRegisterProvider no pudo registrar el proveedor porque NDIS_IF_PROVIDER_CHARACTERISTICS estructura en el parámetro ProviderCharacteristics contenía datos de miembro no válidos.
NDIS_STATUS_NOT_SUPPORTED
NdisIfRegisterProvider no pudo registrar el proveedor porque el miembro Header de NDIS_IF_PROVIDER_CHARACTERISTICS especifica una versión de estructura que no se admite.

Comentarios

Los controladores NDIS llaman a la función NdisIfRegisterProvider una vez durante la inicialización para registrarse como proveedor de interfaz NDIS. Por ejemplo, el controlador puede llamar a NdisIfRegisterProvider desde su rutina DriverEntry . Un proveedor de interfaz es un componente de software que administra interfaces de red para admitir el MIB ( RFC 2863).

Para controlar las solicitudes OID del proveedor de interfaz, los proveedores de interfaz proporcionan puntos de entrada para las funciones de devolución de llamada en . NDIS_IF_PROVIDER_CHARACTERISTICS estructura en el parámetro ProviderCharacteristics de NdisIfRegisterProvider.

Los proveedores de interfaz NDIS llaman a la función NdisIfRegisterInterface para registrar una interfaz de red. Un proveedor puede registrar varias interfaces.

Si NdisIfRegisterProvider se realiza correctamente, devuelve un identificador en la ubicación a la que apunta el parámetro pNdisProviderHandle . El proveedor de interfaz debe conservar este identificador para su uso en llamadas posteriores que requieren un identificador de proveedor de interfaz. Por ejemplo, un controlador debe llamar a NdisIfDeregisterProvider antes de que se descargue el controlador.

Un componente que ya no es un proveedor de interfaz puede llamar a la función NdisIfDeregisterProvider en cualquier momento para liberar los recursos del proveedor de interfaz asignados cuando el controlador llamó a NdisIfRegisterProvider.

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_Interfaces_Function(ndis)

Consulte también

DriverEntry

NDIS_IF_PROVIDER_CHARACTERISTICS

NdisIfDeregisterProvider

NdisIfRegisterInterface