Rapportera strömsparkapacitet

Miniportdrivrutiner som stöder NDIS 6.20 och senare versioner av NDIS rapporterar sina maskinvarans strömhushållningsfunktioner vid initialisering. NDIS rapporterar de aktuella funktionerna till överlydande NDIS-protokolldrivrutiner under bindningsåtgärden. NDIS kan dock dölja vissa funktioner från protokolldrivrutinen. NDIS kan till exempel rapportera olika funktioner när en användare inaktiverar vissa eller alla energisparfunktioner.

Observera att de aktuella energisparfunktionerna som NDIS rapporterar till en protokolldrivrutin inte nödvändigtvis är samma som de maskinvarufunktioner som miniportdrivrutinen rapporterade till NDIS.

Om en NDIS 6.1 eller tidigare miniportdrivrutin är bunden till en NDIS 6.20-protokolldrivrutin översätter NDIS energisparfunktionerna till ett format som stöds av NDIS 6.20-protokolldrivrutinen. NDIS översätter också energisparfunktioner som en NDIS 6.20-miniportdrivrutin rapporterar till ett format som stöds av NDIS 6.1 och tidigare överdrivande drivrutiner.

Maskinvarufunktionerna som en miniportdrivrutin rapporterar kan aktiveras eller inaktiveras i INF-filinställningar. Mer information om inf-filinställningar för energisparfunktioner finns i Standardized INF Keywords for Power Management.

Under miniportinitialiseringen initierar en miniportdrivrutin en NDIS_PM_CAPABILITIES-struktur med energisparfunktionerna i den underliggande maskinvaran. Miniportdrivrutinen anger PowerManagementCapabilitiesEx medlemmen i NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-strukturen för att peka på NDIS_PM_CAPABILITIES strukturen.

Den NDIS_PM_CAPABILITIES strukturen innehåller följande information:

Flaggor
För NDIS 6.20 är den här medlemmen reserverad för NDIS.

Från och med NDIS 6.30 definieras följande flaggor:

NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED
Om den här flaggan har angetts kan nätverkskortet spara det mottagna paketet som gjorde att adaptern genererade en aktiveringshändelse.

Mer information om den här energisparfunktionen finns i NDIS Wake Reason Status Indications.

NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED
Om den här flaggan är aktiverad, stöder miniportdrivrutinen NDIS selektiv avstängning för nätverksadaptrar.

Mer information om den här effektstyrningsfunktionen finns i NDIS Selective Suspend.

Stödda WoL-paketmönster
Innehåller flaggor som anger de wake-on-LAN-paketmönster (WOL) som ett nätverkskort stöder. Nätverkskortet kan till exempel generera en aktiveringshändelse när det tar emot en bitmapp, ett magiskt WOL-paket eller ett EAP over LAN (EAPOL)-begärandeidentifieringsmeddelande. En fullständig lista över de mönster som stöds i det aktuella operativsystemet finns på referenssidan för NDIS_PM_CAPABILITIES.

NumTotalWoLPatterns
Ett ULONG- värde som innehåller det totala antalet WOL-mönster som ett nätverkskort stöder. Det här är summan av "antal WOL-protokollmönster som stöds" och "antal WOL-bitmappsmönster som stöds".

Om drivrutinen till exempel stöder 8 flexibla bitmappsmönster, IPv4 TCP SYN (via förinställt filter) och ett magiskt paket rapporterar du 9 i NumTotalWoLPatterns. (8 bitmappar + 1 IPv4 TCP SYN = 9)

Observera Det totala antalet WOL-mönster inkluderar inte mönstret för uppvaknande med magiskt paket.

Mer information om WOL-protokollmönster finns i NDIS_PM_WOL_PATTERN.

MaxWoLPatternSize
Innehåller det maximala antalet byte som kan jämföras med ett mönster.

MaxWoLPatternOffset
Innehåller antalet byte i ett paket som kan undersökas, vilket börjar från början av MAC-huvudet.

MaxWoLPacketSaveBuffer
Innehåller antalet byte av ett WOL-protokollmönster som en miniportdrivrutin kan spara till en buffert och ange drivrutinsstacken.

Stödde protokollavlastningar
Innehåller flaggor som anger avlastningsfunktioner för energisparprotokoll som ett nätverkskort stöder. Miniportdrivrutiner använder dessa flaggor för att rapportera kapaciteterna för lågeffektsprotokollavlastning i ett nätverkskort. Nätverkskortet kan till exempel ha stöd för IPv4 ARP-avlastning, IPv6 Neighbor Solicitation (NS), eller IEEE 802.11 robust säkerhetsnätverk (RSN) 4-vägs och 2-vägs handskakning. En fullständig lista över protokollavlastningar som stöds i det aktuella operativsystemet finns på referenssidan för NDIS_PM_CAPABILITIES.

NumArpOffloadIPv4Addresses
Innehåller antalet ARP-avlastnings-IPv4-adresser.

NumNSOffloadIPv6Addresses
Innehåller antalet begäranden för NS-avlastning (network solicitation) för IPv6 som nätverkskortet stöder.

MinMagicPacketWakeUp
Anger det lägsta enhetskrafttillståndet från vilket ett nätverkskort kan signalera en aktiveringshändelse vid mottagandet av ett magiskt paket. (Ett magiskt paket är ett paket som innehåller 16 sammanhängande kopior av det mottagande nätverkskortets Ethernet-adress.)

MinPatternWakeUp
Anger det lägsta krafttillstånd för enheten från vilket ett nätverkskort kan signalera en aktiveringshändelse vid mottagande av en nätverksram som innehåller ett mönster specificerat av protokolldrivrutinen.

MinLinkChangeWakeUp
Anger det lägsta enhetskrafttillstånd som ett nätverkskort kan signalera en aktiveringshändelse från när det sker en länkändring (mediaanslutning eller frånkoppling).

SupportedWakeUpEvents
Anger de medieoberoende väckningshändelser som ett nätverkskort stöder. Dessa händelser är inte specifika för medietyp. Dessa aktiveringshändelser inkluderar till exempel länkändringshändelser.

MediespecifikaUppvakningsHändelser
Anger de mediespecifika aktiveringshändelser som ett nätverkskort stöder. Dessa händelser inkluderar till exempel följande:

  • Nätverkskortet 802.11 kopplas ifrån åtkomstpunkten (AP).

  • Nätverkskortet för mobilt bredband (MB) registrerar en ändring i registreringstillståndet för MB-tjänsten.

Om en miniportdrivrutin stöder avlastning av protokoll till ett nätverkskort i ett lågeffekttillstånd, måste den ha stöd för samma lågeffekttillstånd för protokollets avlastning som stöds för en WOL-händelse med mönstermatchning: det vill säga, det värde som anges i MinPatternWakeUp eller MinMagicPacketWakeUp medlem.

NDIS initierar en NDIS_PM_CAPABILITIES struktur med de för närvarande tillgängliga energisparfunktionerna i det underliggande nätverkskortet och skickar det protokollöverliggande protokolldrivrutiner under bindningsåtgärden. NDIS ställer in PowerManagementCapabilitiesEx-medlemmen i NDIS_BIND_PARAMETERS-strukturen så att den pekar på NDIS_PM_CAPABILITIES-strukturen.

Överliggande drivrutiner kan använda OID_PM_HARDWARE_CAPABILITIES OID-frågan för att hämta maskinvarans strömhanteiringsfunktioner i nätverksadaptern. NDIS hanterar den här OID-begäran för miniportdrivrutinens räkning. NDIS-miniportdrivrutiner krävs inte för att stödja OID_PM_HARDWARE_CAPABILITIES OID-begäran.

Överliggande drivrutiner kan använda OID_PM_CURRENT_CAPABILITIES OID för att fråga de för närvarande tillgängliga strömsparfunktionerna i ett nätverkskort. NDIS hanterar den här OID-begäran för miniportdrivrutinens räkning. NDIS-miniportdrivrutiner krävs inte för att stödja OID_PM_CURRENT_CAPABILITIES OID-begäran.