Compartir a través de


Agregar y eliminar wake on LAN Patterns

Para agregar un patrón wake-on-LAN (WOL), los controladores de protocolo NDIS emiten una solicitud de conjunto de OID de OID_PM_ADD_WOL_PATTERN. El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura NDIS_PM_WOL_PATTERN . Los controladores de protocolo deben especificar un paquete WOL si ese paquete WOL es compatible con un adaptador de red. Cuando el adaptador de red no admite el paquete WOL, el controlador de protocolo debe usar el método de reactivación de mapa de bits WOL.

NDIS_PM_WOL_PATTERN incluye la siguiente información:

Prioridad
Contiene la prioridad del patrón WOL. Si un controlador demasiado elevado agrega un patrón WOL de mayor prioridad cuando no hay recursos disponibles para más patrones WOL, NDIS podría quitar un patrón WOL de prioridad inferior para liberar recursos. Los controladores de minipuerto deben ignorar este miembro. Un controlador de protocolo puede especificar cualquier prioridad que esté dentro del intervalo predefinido de NDIS_PM_WOL_PRIORITY_LOWEST a NDIS_PM_WOL_PRIORITY_HIGHEST.

WoLPacketType
Contiene un valor de enumeración NDIS_PM_WOL_PACKET que especifica el tipo del paquete WOL.

FriendlyName
Contiene una estructura NDIS_PM_COUNTED_STRING que contiene la descripción legible del usuario del paquete WOL.

PatternId
Contiene un valor proporcionado por NDIS que identifica el patrón WOL. Antes de que NDIS envíe la solicitud de OID de OID_PM_ADD_WOL_PATTERN a los controladores NDIS subyacentes o complete la solicitud al controlador de sobreaprovisionamiento, NDIS establece PatternId en un valor único entre los patrones WOL en un adaptador de red.

NextWoLPatternOffset
Contiene el desplazamiento (desde el principio de la solicitud de OID InformationBuffer) de una estructura de NDIS_PM_WOL_PATTERN a la siguiente estructura NDIS_PM_WOL_PATTERN de una lista para el OID de OID_PM_WOL_PATTERN_LIST . Para obtener más información sobre OID_PM_WOL_PATTERN_LIST, vea Obtener la configuración actual de patrones WOL.

WoLPattern
Contiene una de las estructuras IPv4TcpSynParameters, IPv6TcpSynParameters, EapolRequestIdMessageParameters o WoLBitMapPattern en una unión.

IPv4TcpSynParameters
Contiene información de sincronización TCP (SYN) de IPv4.

IPv6TcpSynParameters
Contiene información de TCP SYN de IPv6.

EapolRequestIdMessageParameters
Contiene 802.1X EAP sobre los parámetros de mensaje de identidad de solicitud LAN (EAPOL).

WoLBitMapPattern
Contiene una especificación de patrón de mapa de bits WOL.

NDIS asigna un identificador único para el adaptador de red a cada patrón WOL. El identificador de patrón es un valor único para cada uno de los patrones que se establecen en un adaptador de red. Sin embargo, el identificador de patrón no es único globalmente en todos los adaptadores de red. NDIS pasa el identificador al adaptador de red subyacente cuando NDIS envía la solicitud de OID de OID_PM_ADD_WOL_PATTERN al controlador de minipuerto. Si la adición del patrón WOL se realiza correctamente, NDIS devuelve el identificador al controlador de sobreagregación que agregó el patrón WOL. El controlador de sobreagregación usa el identificador para quitar un patrón WOL agregado anteriormente. El identificador de patrón también se usa en las indicaciones de estado para los controladores que se sobreponen cuando se quita un patrón WOL de un adaptador de red.

Los controladores de protocolo deben emitir la solicitud de conjunto de OID de OID_PM_REMOVE_WOL_PATTERN para quitar todos los patrones que agregaron a un adaptador de red antes de cerrar un enlace a ese adaptador de red. El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a un identificador de patrón.

Las aplicaciones en modo de usuario usan el GUID de WMI de GUID_PM_REMOVE_WOL_PATTERN para quitar un patrón WOL agregado previamente de un adaptador de red. NDIS traduce esta solicitud WMI a la solicitud de conjunto de OID de OID_PM_REMOVE_WOL_PATTERN para el adaptador de red. NDIS elimina todos los patrones WOL que una aplicación agregó desde el adaptador de red antes de detener el adaptador de red.

NDIS permite que varios controladores de protocolo NDIS agreguen patrones WOL al mismo adaptador de red. Para asegurarse de que se ha establecido el conjunto correcto de patrones WOL cuando el número de patrones WOL solicitados es mayor que lo que un adaptador de red puede admitir, los controladores de protocolo asignan una prioridad a cada patrón WOL solicitado en el miembro Priority de la estructura NDIS_PM_WOL_PATTERN. Cuando NDIS no puede agregar un nuevo patrón WOL de alta prioridad porque el adaptador de red está fuera de recursos, NDIS elimina uno de los patrones de prioridad inferior (si los hay) e intenta agregar de nuevo el patrón de prioridad alta.

Nota Un controlador de minipuerto debe producir un error en una solicitud de adición de patrones y devolver el código de estado STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL para permitir que NDIS vuelva a priorizar los patrones.

Si NDIS elimina uno de los patrones de prioridad más baja, notifica al controlador sobreajuste que establece el patrón eliminado con una indicación de estado de NDIS_STATUS_PM_WOL_PATTERN_REJECTED . El miembro StatusBuffer de la estructura NDIS_STATUS_INDICATION contiene un ULONG para el identificador de patrón WOL del patrón WOL rechazado. NDIS proporcionó el identificador de patrón WOL en el miembro PatternId de la estructura NDIS_PM_WOL_PATTERN .

En el caso de los adaptadores de red inalámbrica que pueden usar un elemento de infraestructura para descargar los patrones a medida que se desplaza por la infraestructura, es posible que un nuevo elemento de infraestructura no admita las mismas funcionalidades y el controlador de miniporte puede enviar una indicación de estado de NDIS_STATUS_PM_WOL_PATTERN_REJECTED con un código de estado adecuado.