Compartir a través de


estructura NDIS_PM_CAPABILITIES (ntddndis.h)

La estructura NDIS_PM_CAPABILITIES especifica las funcionalidades de administración de energía de un adaptador de red.

Sintaxis

typedef struct _NDIS_PM_CAPABILITIES {
  NDIS_OBJECT_HEADER      Header;
  ULONG                   Flags;
  ULONG                   SupportedWoLPacketPatterns;
  ULONG                   NumTotalWoLPatterns;
  ULONG                   MaxWoLPatternSize;
  ULONG                   MaxWoLPatternOffset;
  ULONG                   MaxWoLPacketSaveBuffer;
  ULONG                   SupportedProtocolOffloads;
  ULONG                   NumArpOffloadIPv4Addresses;
  ULONG                   NumNSOffloadIPv6Addresses;
  NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
  NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
  NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
  ULONG                   SupportedWakeUpEvents;
  ULONG                   MediaSpecificWakeUpEvents;
} NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES;

Miembros

Header

Tipo, revisión y tamaño de la estructura NDIS_PM_CAPABILITIES . Este miembro tiene formato de estructura NDIS_OBJECT_HEADER .

El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_DEFAULT. Para especificar la versión de la estructura de NDIS_PM_CAPABILITIES , el controlador debe establecer el miembro Revision de Header en el siguiente valor:

NDIS_PM_CAPABILITIES_REVISION_2

Se han agregado varios cambios para NDIS 6.30.

Establezca el miembro Size en NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2.

NDIS_PM_CAPABILITIES_REVISION_1

Versión original de NDIS 6.20.

Establezca el miembro Size en NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1.

Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Para NDIS 6.20, este miembro está reservado para NDIS.

A partir de NDIS 6.30, se definen las marcas siguientes:

NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED

Si se establece esta marca, el adaptador de red debe poder guardar el paquete recibido que provocó que el adaptador generara un evento de reactivación.

Si se establece esta marca, el controlador de minipuerto debe poder hacer lo siguiente con este paquete después de que el adaptador de red pase a un estado de energía completa:

Para obtener más información sobre esta funcionalidad de administración de energía, consulte Indicaciones de estado del motivo de reactivación de NDIS.

NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED

Si se establece esta marca, el controlador de miniporte admite la suspensión selectiva de NDIS para adaptadores de red.

Para obtener más información sobre esta funcionalidad de administración de energía, consulte Suspensión selectiva de NDIS.

SupportedWoLPacketPatterns

Valor ULONG que contiene un OR bit a bit de marcas que especifican los patrones wake-on-LAN (WOL) que admite un adaptador de red. Los controladores Miniport usan estas marcas para anunciar patrones WOL basados en paquetes que admite un adaptador de red.

Para obtener más información sobre este miembro, vea la sección Comentarios. Para obtener más información sobre los patrones WOL, consulte NDIS_PM_WOL_PATTERN.

NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED

El adaptador de red puede generar un evento de reactivación cuando recibe un paquete que coincide con un patrón de mapa de bits configurado.

NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED

El adaptador de red puede generar un evento de reactivación cuando recibe un paquete mágico WOL. Un paquete mágico contiene dentro de su carga una cadena de seis bytes con un valor de 0xFF, seguido inmediatamente de 16 copias contiguas de la dirección Ethernet del adaptador de red receptor.

NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED

El adaptador de red puede generar un evento de reactivación cuando recibe un paquete TCP SYN IPv4. Los hosts remotos envían paquetes TCP SYN para iniciar una conexión TCP al equipo local.

NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED

El adaptador de red puede generar un evento de reactivación cuando recibe un paquete TCP SYN IPv6.

NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED

Si se establece esta marca, el adaptador de red admite como valores comodín cualquier valor de relleno cero o sin especificar, valores para direcciones IPv4 y puertos TCP/UDP en un patrón WOL. De este modo, el valor comodín coincide con cualquier dirección IPv4 y cualquier valor de puerto del paquete entrante en la ubicación especificada por el patrón WOL.

Cuando un adaptador de red admite una reactivación basada en IPv4 en el patrón de paquetes LAN, como un patrón TCP SYN de IPv4, debe admitir la generación de un evento de reactivación si las direcciones IPv4 y los valores de puerto del paquete entrante coinciden con los especificados en el patrón de reactivación.

Sin embargo, si se establece la marca de NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED, el adaptador de red también puede generar un evento de reactivación si se cumplen las siguientes condiciones de coincidencia de patrones:

  • Cualquier valor del paquete entrante en la ubicación especificada por el patrón WOL es una coincidencia, si el patrón WOL de esa ubicación contiene un valor comodín.
  • Un valor del paquete entrante en la ubicación especificada por el patrón WOL es una coincidencia si el patrón WOL de esa ubicación contiene un valor distinto de cero que es igual al valor del paquete.
El controlador de minipuerto debe restringir los eventos de reactivación a las direcciones y puertos IPv4 especificados, a menos que un controlador sobrecale habilita esta funcionalidad.
Nota Los valores comodín habilitados por esta marca pueden incluir direcciones de origen y destino IPv4 no especificadas, así como puertos de origen y destino no especificados.
 

NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED

Si se establece esta marca, el adaptador de red admite como valores comodín cualquier valor de relleno cero o sin especificar, valores para direcciones IPv6 y puertos TCP/UDP en un patrón WOL. De este modo, el valor comodín coincide con cualquier dirección IPv6 y cualquier valor de puerto del paquete entrante en la ubicación especificada por el patrón WOL.

Cuando un adaptador de red admite una reactivación basada en IPv6 en el patrón de paquetes LAN, como un patrón TCP SYN de IPv6, debe admitir la generación de un evento de reactivación si las direcciones IPv6 y los valores de puerto del paquete entrante coinciden con los especificados en el patrón de reactivación.

Sin embargo, si se establece la marca de NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED, el adaptador de red también puede generar un evento de reactivación si se cumplen las siguientes condiciones de coincidencia de patrones:

  • Cualquier valor del paquete entrante en la ubicación especificada por el patrón WOL es una coincidencia, si el patrón WOL de esa ubicación contiene un valor comodín.
  • Un valor del paquete entrante en la ubicación especificada por el patrón WOL es una coincidencia si el patrón WOL de esa ubicación contiene un valor distinto de cero que es igual al valor del paquete.
El controlador de minipuerto debe restringir los eventos de reactivación a las direcciones y puertos IPv6 especificados, a menos que un controlador sobreactuado habilite esta funcionalidad.
Nota Los valores comodín habilitados por esta marca pueden incluir direcciones de origen y destino IPv6 no especificadas, así como puertos de origen y destino no especificados.
 

NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED

El adaptador de red puede generar un evento de reactivación cuando recibe un mensaje de identificador de solicitud EAPOL.

NumTotalWoLPatterns

Valor ULONG que contiene el número total de patrones WOL que admite un adaptador de red. Esta es la suma de "número de patrones de protocolo WOL admitidos" y "número de patrones de mapa de bits WOL admitidos".

Por ejemplo, si el controlador admite 8 patrones de mapa de bits flexibles, IPv4 TCP SYN (a través de filtro preestablecido) y paquete mágico, debería notificar 9 en NumTotalWoLPatterns. (8 mapas de bits + 1 IPv4 TCP SYN = 9)

Nota El número total de patrones WOL no incluye el patrón de reactivación de paquetes mágicos.
 
Para obtener más información sobre los patrones de protocolo WOL, consulte NDIS_PM_WOL_PATTERN.

MaxWoLPatternSize

Valor de ULONG que contiene el número máximo de bytes que se pueden comparar con un patrón.

MaxWoLPatternOffset

Valor de ULONG que contiene el número de bytes de un paquete que se puede examinar, comenzando al principio del encabezado MAC.

MaxWoLPacketSaveBuffer

Valor ULONG que contiene el número de bytes de un paquete WOL que un controlador de minipuerto puede guardar en un búfer e indicar la pila de controladores. Este valor debe ser menor o igual que el tamaño, en bytes, de la unidad de transmisión máxima (MTU) del medio de red. El controlador notifica el tamaño de MTU a través de las solicitudes de consulta OID de OID_GEN_MAXIMUM_FRAME_SIZE.

Nota Este miembro se omite en NDIS 6.20 y versiones anteriores de NDIS. A partir de NDIS 6.30, este miembro debe contener un valor distinto de cero si la marca de NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED está establecida en el miembro Flags .
 

SupportedProtocolOffloads

Valor de ULONG que contiene un OR bit a bit de marcas que especifican las características de descarga de protocolo que admite un adaptador de red. Los controladores de minipuerto usan estas marcas para informar de las funcionalidades de descarga del protocolo de baja energía de un adaptador de red.

NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED

Si se establece este bit, el adaptador de red puede responder a los paquetes ARP IPv4 mientras se encuentra en un estado de bajo consumo.

Para obtener más información sobre el protocolo ARP, consulte RFC 826.

NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED

Si se establece este bit, el adaptador de red puede responder a los paquetes de solicitud de vecinos IPv6 (NS) mientras está en un estado de bajo consumo.

Para obtener más información sobre los mensajes de NS IPv6, consulte RFC 4861.

NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED

El adaptador de red puede responder a solicitudes de re-clave IEEE 802.11i Robust Security Network (RSN) mientras está en un estado de baja potencia.

NumArpOffloadIPv4Addresses

Valor de ULONG que contiene el número de direcciones IPv4 que admite el adaptador para la descarga de ARP.

NumNSOffloadIPv6Addresses

Valor ULONG que contiene el número de solicitudes de descarga de NS IPv6 que admite el adaptador. Debe ser al menos 2.

Nota A pesar de su nombre, NumNSOffloadIPv6Addresses contiene el número de solicitudes admitidas, no direcciones.
 

MinMagicPacketWakeUp

Especifica el estado de energía del dispositivo más bajo desde el que un adaptador de red puede indicar un evento de reactivación al recibir un paquete mágico. Un paquete mágico contiene dentro de su carga una cadena de seis bytes con un valor de 0xFF, seguido inmediatamente de 16 copias contiguas de la dirección MAC del adaptador de red receptora.

Nota Los estados de energía del dispositivo se especifican mediante un valor de Dx, donde D0 es el estado de alimentación del dispositivo más alto y D3 es el estado de energía del dispositivo más bajo.
 
El estado de alimentación del dispositivo se especifica como uno de los siguientes valores de NDIS_DEVICE_POWER_STATE :

NdisDeviceStateUnspecified

El adaptador de red no admite reactivaciones de paquetes mágicos.

Nota Si el miembro MinMagicPacketWakeUp se establece en este valor, la marca NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED no debe establecerse en el miembro SupportedWoLPacketPatterns .
 

NdisDeviceStateD0

El adaptador de red puede indicar una reactivación mágica de paquetes desde el estado de alimentación del dispositivo D0. Dado que D0 es el estado totalmente alimentado, esto no provoca una reactivación, pero se puede usar como evento en tiempo de ejecución.

Nota A partir de NDIS 6.20, ya no se admite el inicio de un paquete mágico desde NdisDeviceStateD0.
 

NdisDeviceStateD1

El adaptador de red puede indicar una reactivación mágica de paquetes desde un estado de alimentación del dispositivo de D1.

NdisDeviceStateD2

El adaptador de red puede indicar una reactivación mágica de paquetes desde un estado de dispositivo D2.

NdisDeviceStateD3

El adaptador de red puede indicar una reactivación mágica de paquetes desde un estado de alimentación del dispositivo de D3.

MinPatternWakeUp

Especifica el estado de energía del dispositivo más bajo desde el que un adaptador de red puede indicar un evento de reactivación al recibir un marco de red que contiene un patrón especificado por el controlador de protocolo. El estado de energía se especifica como uno de los siguientes valores de NDIS_DEVICE_POWER_STATE :

NdisDeviceStateUnspecified

El adaptador de red no admite reactivaciones de coincidencia de patrones.

Nota Si el miembro MinPatternWakeUp se establece en este valor, solo se puede establecer la marca NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED en el miembro SupportedWoLPacketPatterns .
 

NdisDeviceStateD0

El adaptador de red puede indicar una reactivación de coincidencia de patrones desde el estado de alimentación del dispositivo D0. Dado que D0 es el estado totalmente alimentado, esto no provoca una reactivación, pero se puede usar como evento en tiempo de ejecución.

Nota A partir de NDIS 6.20, ya no se admite la señalización de una reactivación de coincidencia de patrones de NdisDeviceStateD0.
 

NdisDeviceStateD1

El adaptador de red puede indicar una reactivación de coincidencia de patrones desde un estado de alimentación del dispositivo de D1.

NdisDeviceStateD2

El adaptador de red puede indicar una reactivación de coincidencia de patrones desde un estado de alimentación del dispositivo de D2.

NdisDeviceStateD3

El adaptador de red puede indicar una reactivación de coincidencia de patrones desde un estado de alimentación del dispositivo de D3.

MinLinkChangeWakeUp

A partir de NDIS 6.20, este miembro especifica el estado de energía del dispositivo más bajo desde el que un adaptador de red puede indicar un evento de reactivación cuando el estado del vínculo cambia de los medios desconectados a los medios conectados.

A partir de NDIS 6.30, este miembro especifica el estado de energía del dispositivo más bajo desde el que un adaptador de red puede señalar eventos de reactivación. Estos eventos se especifican en el miembro SupportedWakeUpEvents .

El estado de energía se especifica como uno de los siguientes valores de NDIS_DEVICE_POWER_STATE :

NdisDeviceStateUnspecified

El adaptador de red no admite reactivaciones de cambios de vínculo.

Nota Si el miembro MinLinkChangeWakeUp se establece en este valor, el miembroSupportedWakeUpEvents debe establecerse en cero.
 

NdisDeviceStateD0

El adaptador de red puede indicar un cambio de vínculo de reactivación desde el estado de alimentación del dispositivo D0. Dado que D0 es el estado totalmente alimentado, esto no provoca una reactivación, pero se puede usar como evento en tiempo de ejecución.

Nota A partir de NDIS 6.20, ya no se admite la señalización de un cambio de vínculo desde NdisDeviceStateD0.
 

NdisDeviceStateD1

El adaptador de red puede indicar un cambio de vínculo de reactivación desde un estado de alimentación del dispositivo de D1.

NdisDeviceStateD2

El adaptador de red puede indicar un cambio de vínculo de reactivación desde un estado de alimentación del dispositivo de D2.

NdisDeviceStateD3

El adaptador de red puede indicar un cambio de vínculo de reactivación desde un estado de alimentación del dispositivo de D3.

SupportedWakeUpEvents

Valor ULONG que contiene un OR bit a bit de marcas. Estas marcas especifican los eventos de reactivación independientes de medios que admite un adaptador de red. Estos eventos no son específicos del tipo de medio.

A partir de NDIS 6.30, se definen las marcas siguientes:

NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED

Si se establece esta marca, el adaptador de red puede generar un evento de reactivación cuando se conecta a la interfaz de red.

NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED

Si se establece esta marca, el adaptador de red puede generar un evento de reactivación cuando se desconecta a la interfaz de red.

MediaSpecificWakeUpEvents

Valor ULONG que contiene un OR bit a bit de marcas. Estas marcas especifican los eventos de reactivación específicos de medios que admite un adaptador de red.

A partir de NDIS 6.30, se definen las marcas siguientes:

NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED

Si se establece esta marca, el adaptador de red 802.11 puede generar un evento de reactivación si detecta un identificador de conjunto de servicios (SSID) especificado a través de una descarga de lista de red (NLO).

Para obtener más información sobre la descarga de lista de red, vea Descarga de lista de red Wi-Fi.

NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED

Si se establece esta marca, el adaptador de red 802.11 puede generar un evento de reactivación si se desasocia con el punto de acceso (AP).

NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED

Si se establece esta marca, el adaptador de red 802.11 puede generar un evento de reactivación si encuentra un error durante el protocolo de enlace de la clave transitoria del grupo RSN IEEE 802.11i (GTK) con el AP.

NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED

Si se establece esta marca, el adaptador de red 802.11 puede generar un evento de reactivación si recibe el primer fotograma del protocolo de enlace DE 4 vías ieee 802.11i RSN de 4 vías con el AP. Este protocolo de enlace se realiza cuando el adaptador se autentica con el AP.

NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED

Si se establece esta marca, el adaptador de red de banda ancha móvil (MB) puede generar un evento de reactivación si su estado de registro en el servicio MB ha cambiado.

NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED

Si se establece esta marca, el adaptador de red MB puede generar un evento de reactivación si el servicio MB debe recibir una notificación sobre la recepción de un mensaje de Servicio de mensajes cortos (SMS). El adaptador genera este evento de reactivación después de la finalización de una solicitud de consulta emitida anteriormente OID_WWAN_SMS_READ o la llegada de un nuevo mensaje de clase 0 (flash/alert) del proveedor de red como una notificación de eventos.

NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED

Si se establece esta marca, el adaptador de red MB puede generar un evento de reactivación si recibe un mensaje de datos de servicio complementarios no estructurados (USSD).

Comentarios

La estructura NDIS_PM_CAPABILITIES se usa en el miembro PowerManagementCapabilitiesEx del estructuras de NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES y NDIS_BIND_PARAMETERS y en NDIS_STATUS_PM_CAPABILITIES_CHANGE indicación de estado.

Durante la inicialización de minipuerto, el controlador de minipuerto inicializa una estructura de NDIS_PM_CAPABILITIES con las capacidades de administración de energía del hardware del adaptador de red. A continuación, el controlador de minipuerto establece el miembro PowerManagementCapabilitiesEx de la estructura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES para que apunte a la estructura de NDIS_PM_CAPABILITIES inicializada.

Un controlador sobreampleado no debe intentar habilitar las funcionalidades que no admite un adaptador de red. Para permitir que un controlador que supere las capacidades que proporciona un adaptador de red, NDIS proporciona las funcionalidades en el miembro PowerManagementCapabilitiesEx de la estructura NDIS_BIND_PARAMETERS.

Nota Los controladores NDIS 6.20 deben usar el miembro PowerManagementCapabilitiesEx en lugar del miembro PowerManagementCapabilities .
 
El miembro SupportedProtocolOffloads contiene marcas que especifican las características de descarga de protocolo que admite un adaptador de red. El adaptador de red controla estos protocolos en un estado de bajo consumo. Por ejemplo, si el hardware del adaptador de red puede controlar los paquetes ARP de IPv4 para la pila de controladores mientras se encuentra en un estado de bajo consumo, el controlador de minipuerto establece el bit de NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED en SupportedProtocolOffloads.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.20 y versiones posteriores.
Encabezado ntddndis.h (incluya Ntddndis.h)

Consulte también

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_PM_WOL_PATTERN

NDIS_STATUS_PM_CAPABILITIES_CHANGE

NDIS_STATUS_PM_WAKE_REASON

NdisMIndicateReceiveNetBufferLists

NdisMIndicateStatusEx