OID_PNP_CAPABILITIES

OID_PNP_CAPABILITIES OID begär en miniportdrivrutin för att returnera aktiveringsfunktionerna i nätverkskortet eller begär en mellanliggande drivrutin för att returnera den mellanliggande drivrutinens aktiveringsfunktioner. Aktiveringsfunktionerna formateras som en NDIS_PNP_CAPABILITIES struktur, som definieras på följande sätt:

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

Medlemmarna i den här strukturen innehåller följande information:

flaggor
NDIS_DEVICE_WAKE_UP_ENABLE

NDIS anger den här flaggan om den underliggande miniportdrivrutinen stöder en eller flera aktiveringsfunktioner. Protokolldrivrutiner kan testa den här flaggan för att avgöra om en underliggande miniportdrivrutin har aktiveringsfunktioner. Miniportdrivrutiner bör inte komma åt den här flaggan.

WakeUpCapabilities
En NDIS_PM_WAKE_UP_CAPABILITIES struktur som anger aktiveringsfunktionerna för miniportdrivrutinens nätverkskort. Den NDIS_PM_WAKE_UP_CAPABILITIES strukturen definieras på följande sätt:

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;

Medlemmarna i den här strukturen innehåller följande information:

MinMagicPacketWakeUp
Anger det lägsta enhetskrafttillståndet från vilket miniportdrivrutinens nätverkskort kan signalera en aktivering när ett magiskt paket tas emot. (Ett magiskt paket är ett paket som innehåller 16 sammanhängande kopior av det mottagande nätverkskortets Ethernet-adress.) Enhetens energitillstånd anges som något av följande NDIS_DEVICE_POWER_STATE värden:

NdisDeviceStateUnspecified
Nätverkskortet stöder inte aktivering av magiska paket.

NdisDeviceStateD0
Nätverkskortet kan signalera en aktivering av ett magiskt paket från enhetens energisparläge D0. Eftersom D0 är det fullständigt drivna tillståndet orsakar detta inte en aktivering utan kan användas som en körningshändelse.

NdisDeviceStateD1
Nätverkskortet kan signalera en aktivering av magiska paket från enhetens energitillstånd D1 och D0.

NdisDeviceStateD2
Nätverkskortet kan signalera en aktivering av magiska paket från enhetstillstånden D2, D1 och D0.

NdisDeviceStateD3
Nätverkskortet kan signalera en aktivering av magiska paket från enhetens energitillstånd D3, D2, D1 och D0.

MinPatternWakeUp
Anger det lägsta enhetskrafttillstånd från vilket miniportdrivrutinens nätverkskort kan signalera en aktiveringshändelse vid mottagandet av en nätverksram som innehåller ett mönster som anges av protokolldrivrutinen. Energitillståndet anges som något av följande NDIS_DEVICE_POWER_STATE värden:

NdisDeviceStateUnspecified
Nätverkskortet stöder inte väckningar med mönstermatchning.

NdisDeviceStateD0
Nätverkskortet kan signalera en väckning med mönstermatchning från enhetens energisparläge D0. Eftersom D0 är det fullständigt drivna tillståndet orsakar detta inte en aktivering utan kan användas som en körningshändelse.

NdisDeviceStateD1
Nätverkskortet kan signalera en väckning med mönstermatchning från enhetens energitillstånd D1 och D0.

NdisDeviceStateD2
Nätverkskortet kan signalera en väckning med mönstermatchning från enhetens energitillstånd D2, D1 och D0.

NdisDeviceStateD3
Nätverkskortet kan signalera en väckning med mönstermatchning från enhetens energitillstånd D3, D2, D1 och D0.

MinLinkChangeWakeUp
Reserverad. NDIS ignorerar den här medlemmen.

för miniportdrivrutiner

När miniportdrivrutinen har slutfört initieringen kan både protokolldrivrutinen och NDIS fråga miniportdrivrutinen med den här OID:en för att fastställa följande:

  • Om miniportdrivrutinen är PM-medveten.

  • Nätverkskortets funktioner för att indikera aktiveringshändelser i nätverket.

Om miniportdrivrutinen returnerar NDIS_STATUS_SUCCESS till en fråga med OID_PNP_CAPABILITIES anser NDIS att miniportdrivrutinen är PM-medveten. Om miniportdrivrutinen returnerar NDIS_STATUS_NOT_SUPPORTEDanser NDIS att miniportdrivrutinen är en äldre miniportdrivrutin som inte är PM-medveten.

När du anropar NdisMSetAttributesExkan en miniportdrivrutin som inte stöder aktiveringsfunktioner, men som kan spara och återställa nätverkskortets tillstånd över en övergång till energispartillstånd, ange flaggan NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND. Om du anger den här flaggan hindras NDIS från att anropa drivrutinens MiniportHalt--funktion innan systemet övergår till ett tillstånd med låg ström (viloläge). Men om miniportdrivrutinen returnerar NDIS_STATUS_NOT_SUPPORTED som svar på en fråga OID_PNP_CAPABILITIES ignorerar NDIS flaggan NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND och stoppar nätverkskortet om systemet hamnar i ett lågeffektstillstånd.

En miniportdrivrutins nätverkskort kan stödja alla kombinationer av aktiveringshändelser, inklusive inga aktiveringshändelser. En miniportdrivrutin kan fortfarande stödja energisparfunktioner även om nätverkskortet inte kan signalera aktiveringshändelser. I det här fallet är de enda OID:er för energisparfunktioner som miniportdrivrutinen stöder förutom OID_PNP_CAPABILITIES OID_PNP_QUERY_POWER och OID_PNP_SET_POWER.

Om en miniportdrivrutins nätverkskort inte stöder en viss aktiveringshändelse bör miniportdrivrutinen ange ett NDIS_DEVICE_POWER_STATE värdet NdisDeviceStateUnspecified för aktiveringshändelsen i NDIS_PM_WAKE_UP_CAPABILITIES struktur.

OID_PNP_CAPABILITIES anger bara aktiveringsfunktionerna för en miniportdrivrutins nätverkskort. den aktiverar inte sådana funktioner. OID_PNP_ENABLE_WAKE_UP används för att aktivera ett nätverkskorts aktiveringsfunktioner.

för mellanliggande drivrutiner

Om det underliggande nätverkskortet är PM-medvetet bör den mellanliggande drivrutinen returnera NDIS_STATUS_SUCCESS till en fråga om OID_PNP_CAPABILITIES. I den NDIS_PM_WAKE_UP_CAPABILITIES struktur som returneras av denna OID ska den mellanliggande drivrutinen ange ett enhetskrafttillstånd för NdisDeviceStateUnspecified för varje aktiveringsfunktion ( MinMagicPacketWakeUp eller MinPatternWakeUp). Ett sådant svar anger att den mellanliggande drivrutinen är PM-medveten men inte hanterar en fysisk enhet.

Om det underliggande nätverkskortet inte är PM-medvetet bör den mellanliggande drivrutinen returnera NDIS_STATUS_NOT_SUPPORTED till en fråga om OID_PNP_CAPABILITIES.

Obs Information om hur NDIS 6.20 och senare miniportdrivrutiner rapporterar energisparfunktioner finns i Reporting Power Management-funktioner.

Krav

Version

Stöds i NDIS 6.0 och NDIS 6.1. För NDIS 6.20 och senare använder du OID_PM_CURRENT_CAPABILITIES i stället.

Rubrik

Ntddndis.h (inkludera Ndis.h)

Se även

NDIS_DEVICE_POWER_STATE

NdisMSetAttributesEx

OID_PM_CURRENT_CAPABILITIES

OID_PNP_ENABLE_WAKE_UP

OID_PNP_QUERY_POWER

OID_PNP_SET_POWER

Reporting Power Management-funktioner