OID_PNP_CAPABILITIES

El OID_PNP_CAPABILITIES OID solicita un controlador de minipuerto para devolver las funcionalidades de reactivación de su adaptador de red o solicita un controlador intermedio para devolver las capacidades de reactivación del controlador intermedio. Las funcionalidades de reactivación tienen el formato de una estructura de NDIS_PNP_CAPABILITIES , que se define de la siguiente manera:

    typedef struct _NDIS_PNP_CAPABILITIES {
         ULONG Flags;
         NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
    } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;  

Los miembros de esta estructura contienen la siguiente información:

Banderas
NDIS_DEVICE_WAKE_UP_ENABLE

NDIS establece esta marca si el controlador de miniport subyacente admite una o varias funcionalidades de reactivación. Los controladores de protocolo pueden probar esta marca para determinar si un controlador de miniporte subyacente tiene funcionalidades de reactivación. Los controladores de minipuerto no deben acceder a esta marca.

WakeUpCapabilities
Estructura NDIS_PM_WAKE_UP_CAPABILITIES que especifica las funcionalidades de reactivación del adaptador de red del controlador de miniport. La estructura NDIS_PM_WAKE_UP_CAPABILITIES se define de la siguiente manera:

typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
         NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
         NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
         NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
       } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;

Los miembros de esta estructura contienen la siguiente información:

MinMagicPacketWakeUp
Especifica el estado de alimentación del dispositivo más bajo desde el que el adaptador de red del controlador de miniporte puede indicar una activación al recibir un paquete mágico. (Un paquete mágico es un paquete que contiene 16 copias contiguas de la dirección Ethernet del adaptador de red receptor). 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.

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.

NdisDeviceStateD1
El adaptador de red puede indicar una reactivación de paquete mágico desde los estados de alimentación del dispositivo D1 y D0.

NdisDeviceStateD2
El adaptador de red puede indicar una reactivación de paquete mágico desde los estados del dispositivo D2, D1 y D0.

NdisDeviceStateD3
El adaptador de red puede indicar una reactivación de paquete mágico desde los estados de alimentación del dispositivo D3, D2, D1 y D0.

MinPatternWakeUp
Especifica el estado de alimentación del dispositivo más bajo desde el que el adaptador de red del controlador de miniporte 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.

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.

NdisDeviceStateD1
El adaptador de red puede indicar una reactivación de coincidencia de patrones desde los estados de alimentación del dispositivo D1 y D0.

NdisDeviceStateD2
El adaptador de red puede indicar una reactivación de coincidencia de patrones desde los estados de alimentación del dispositivo D2, D1 y D0.

NdisDeviceStateD3
El adaptador de red puede indicar una reactivación de coincidencia de patrones desde los estados de alimentación del dispositivo D3, D2, D1 y D0.

MinLinkChangeWakeUp
Reservado. NDIS omite este miembro.

Para controladores de minipuerto

Una vez que el controlador de miniporte completa la inicialización, tanto el controlador de protocolo como el NDIS pueden consultar el controlador de miniporte con este OID para determinar lo siguiente:

  • Si el controlador de minipuerto es compatible con pm.

  • Las funcionalidades del adaptador de red para indicar eventos de reactivación de red.

Si el controlador de minipuerto devuelve NDIS_STATUS_SUCCESS a una consulta de OID_PNP_CAPABILITIES, NDIS considera que el controlador de minipuerto es compatible con pm. Si el controlador de minipuerto devuelve NDIS_STATUS_NOT_SUPPORTED, NDIS considera que el controlador de minipuerto es un controlador de miniporte heredado que no es compatible con pm.

Al llamar a NdisMSetAttributesEx, un controlador de minipuerto que no admite funcionalidades de reactivación, pero que puede guardar y restaurar su estado de adaptador de red en una transición de estado de energía puede establecer la marca de NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND . Al establecer esta marca, se impide que NDIS llame a la función MiniportHalt del controlador antes de que el sistema pase a un estado de baja potencia (en suspensión). Sin embargo, si el controlador de minipuerto devuelve NDIS_STATUS_NOT_SUPPORTED en respuesta a una consulta OID_PNP_CAPABILITIES, NDIS omite la marca de NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND y detiene el adaptador de red si el sistema entra en un estado de baja potencia.

Un adaptador de red del controlador de minipuerto puede admitir cualquier combinación de eventos de reactivación, incluidos los eventos de reactivación. Un controlador de minipuerto todavía puede admitir la administración de energía incluso si su adaptador de red no puede señalizar eventos de reactivación. En este caso, los únicos OID de administración de energía que admite el controlador de minipuerto además de OID_PNP_CAPABILITIES son OID_PNP_QUERY_POWER y OID_PNP_SET_POWER.

Si un adaptador de red del controlador de miniporte no admite un evento de reactivación determinado, el controlador de minipuerto debe indicar un valor de NDIS_DEVICE_POWER_STATE de NdisDeviceStateUnspecified para el evento de reactivación en la estructura de NDIS_PM_WAKE_UP_CAPABILITIES .

OID_PNP_CAPABILITIES solo indica las capacidades de reactivación de un adaptador de red del controlador de minipuerto; no habilita estas funcionalidades. OID_PNP_ENABLE_WAKE_UP se usa para habilitar las funcionalidades de reactivación de un adaptador de red.

Para controladores intermedios

Si el adaptador de red subyacente es compatible con PM, el controlador intermedio debe devolver NDIS_STATUS_SUCCESS a una consulta de OID_PNP_CAPABILITIES. En la estructura NDIS_PM_WAKE_UP_CAPABILITIES devuelta por este OID, el controlador intermedio debe especificar un estado de alimentación del dispositivo de NdisDeviceStateUnspecified para cada funcionalidad de reactivación ( MinMagicPacketWakeUp o MinPatternWakeUp). Esta respuesta indica que el controlador intermedio es compatible con PM, pero no administra un dispositivo físico.

Si el adaptador de red subyacente no es compatible con PM, el controlador intermedio debe devolver NDIS_STATUS_NOT_SUPPORTED a una consulta de OID_PNP_CAPABILITIES.

Nota Para obtener información sobre cómo los controladores NDIS 6.20 y versiones posteriores notifican las funcionalidades de administración de energía, consulte Reporting Power Management Capabilities.

Requisitos

Versión

Compatible con NDIS 6.0 y NDIS 6.1. Para NDIS 6.20 y versiones posteriores, use OID_PM_CURRENT_CAPABILITIES en su lugar.

Encabezado

Ntddndis.h (include Ndis.h)

Consulte también

NDIS_DEVICE_POWER_STATE

NdisMSetAttributesEx

OID_PM_CURRENT_CAPABILITIES

OID_PNP_ENABLE_WAKE_UP

OID_PNP_QUERY_POWER

OID_PNP_SET_POWER

Funcionalidades de administración de energía de informes