Rapportera selektiva pausfunktioner för NDIS

Från och med NDIS 6.30 måste miniportdrivrutiner rapportera om drivrutinen har aktiverat stödet för selektivt NDIS-uppehåll. Stödet för NDIS selektivt uppehåll aktiveras eller inaktiveras genom att ställa in det standardiserade INF-nyckelordet *SelectiveSuspend. Mer information om det här INF-nyckelordet finns i standardiserade INF-nyckelord för NDIS Selective Suspend.

När NDIS anropar drivrutinens MiniportInitializeEx-funktion anger miniportdrivrutinen sitt stöd för selektiv avstängning av NDIS genom att följa dessa steg:

  1. Drivrutinen initierar en NDIS_PM_CAPABILITIES struktur med den underliggande maskinvarans energisparfunktioner.

    Om drivrutinen aktiverar stöd för selektiv NDIS-uppehåll måste den ange medlemmarna i NDIS_PM_CAPABILITIES-strukturen enligt följande:

    • Miniportdrivrutinen måste ange NDIS_PM_CAPABILITIES_REVISION_2 och NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2 för revisionen och längden på den NDIS_PM_CAPABILITIES strukturen inom strukturens Header element.
    • Om nyckelordet *SelectiveSuspend har ett värde på ett, är stöd för miniportdrivrutinens selektiva NDIS-viloläge aktiverat. Miniport-drivrutinen rapporterar detta genom att ange flaggan NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED i Flags element i den här strukturen.
  2. När den har initierat NDIS_PM_CAPABILITIES struktur anger miniportdrivrutinen PowerManagementCapabilitiesEx medlemmen i NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-strukturen för att peka på den initierade NDIS_PM_CAPABILITIES strukturen. Miniportdrivrutinen skickar en pekare till en NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES struktur i parametern MiniportAttributes när drivrutinen anropar funktionen NdisMSetMiniportAttributes.

Den metod som används av miniportdrivrutiner för att rapportera supportstatusen för selektiv NDIS-uppehåll baseras på NDIS 6.20-metoden för rapportering av energisparfunktioner. För mer information om denna metod, se Rapportering av strömhanteringsfunktioner.

Mer information om initieringsprocessen för adapter finns i Initiera en miniportadapter.