OID_PM_ADD_PROTOCOL_OFFLOAD

Como conjunto, los controladores de protocolo NDIS usan el OID de OID_PM_ADD_PROTOCOL_OFFLOAD para agregar una descarga de protocolo para la administración de energía a un adaptador de red. El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_PM_PROTOCOL_OFFLOAD .

Observaciones

Los controladores de protocolo NDIS 6.20 y versiones posteriores usan OID_PM_ADD_PROTOCOL_OFFLOAD OID para agregar una descarga de protocolo para la administración de energía a un adaptador de red. Si la solicitud se realiza correctamente, el adaptador de red debe generar y transmitir los paquetes de respuesta necesarios para el protocolo descargado cuando el adaptador de red está en un estado de poca energía.

Un controlador de protocolo puede descargar un protocolo después de que se enlace correctamente a un adaptador de red subyacente y tan pronto como tenga los datos necesarios (como la dirección IP de la interfaz) para descargar el protocolo. El controlador de protocolo también puede descargar un protocolo en respuesta a otras notificaciones de eventos de administración de energía, como el rechazo de un patrón WOL agregado anteriormente o un protocolo descargado.

Para evitar condiciones de carrera en NDIS y otros controladores de protocolo que están enlazados al mismo adaptador de minipuerto, después de que NDIS empiece a establecer un adaptador de red en un estado de bajo consumo, se producirá un error en cualquier intento de descargar otro protocolo a ese adaptador de red. Por ejemplo, si un controlador de protocolo NDIS intenta descargar un protocolo en el contexto de procesamiento de una notificación de eventos NetEventSetPower para ese adaptador de red, NDIS producirá un error en la solicitud.

Antes de que NDIS envíe esta solicitud de OID a los controladores NDIS subyacentes o complete la solicitud al controlador de sobreaprovisionamiento, establece el miembro ProtocolOffloadId de ULONG de la estructura NDIS_PM_PROTOCOL_OFFLOAD en un valor único. Los controladores de protocolo y NDIS usan este identificador de descarga de protocolo con la solicitud de OID de OID_PM_REMOVE_PROTOCOL_OFFLOAD para quitar la descarga del protocolo del adaptador de red subyacente.

Nota El identificador de descarga de protocolo es un valor único para cada una de las descargas de protocolo que se establecen en un adaptador de red. Sin embargo, el identificador de descarga del protocolo no es único globalmente en todos los adaptadores de red.

Si NDIS o un adaptador de red subyacente rechaza una descarga, genera una indicación de estado NDIS_STATUS_PM_OFFLOAD_REJECTED . Esto puede ocurrir después de devolver NDIS_STATUS_SUCCESS para el OID. El miembro StatusBuffer de la estructura NDIS_STATUS_INDICATION contiene el identificador de descarga del protocolo ULONG de la descarga del protocolo rechazado.

Para obtener información sobre cómo un miniportador lan inalámbrico nativo 802.11 usa este OID, consulta Agregar y eliminar descargas de protocolo de bajo consumo.

El controlador de minipuerto devuelve uno de los siguientes códigos de estado para la solicitud:

NDIS_STATUS_SUCCESS
La descarga de protocolo solicitada se agregó correctamente. El miembro ProtocolOffloadId de la estructura NDIS_PM_PROTOCOL_OFFLOAD contiene un identificador de descarga de protocolo.

NDIS_STATUS_PENDING
La solicitud está pendiente de finalización. NDIS pasará el código de estado final y los resultados al controlador de finalización de solicitudes OID del autor de la llamada una vez completada la solicitud.

NDIS_STATUS_PM_PROTOCOL_OFFLOAD_LIST_FULL
Error en la solicitud porque la lista de descarga del protocolo está llena y el adaptador de red no puede agregar otra descarga de protocolo.

NDIS_STATUS_RESOURCES
NDIS o un adaptador de red subyacente no pudieron agregar la nueva descarga de protocolo debido a la falta de recursos.

NDIS_STATUS_INVALID_PARAMETER
Uno o varios parámetros de la estructura NDIS_PM_PROTOCOL_OFFLOAD no eran válidos.

NDIS_STATUS_BUFFER_TOO_SHORT
El búfer de información era demasiado corto. NDIS establece los DATOS. SET_INFORMATION. Miembro BytesNeeded de la estructura NDIS_OID_REQUEST al tamaño mínimo del búfer necesario.

NDIS_STATUS_NOT_SUPPORTED
El adaptador de red no admite la descarga de protocolo solicitada.

NDIS_STATUS_FAILURE
Error en la solicitud por motivos distintos de los motivos anteriores.

Requisitos

Versión

Se admite en NDIS 6.20 y versiones posteriores. Obligatorio para los controladores de minipuerto.

Encabezado

Ntddndis.h (incluye Ndis.h)

Consulte también

NDIS_OID_REQUEST

NDIS_PM_PROTOCOL_OFFLOAD

NDIS_STATUS_INDICATION

NDIS_STATUS_PM_OFFLOAD_REJECTED

OID_PM_REMOVE_PROTOCOL_OFFLOAD

Adición y eliminación de descargas de protocolos de bajo consumo