OID_PNP_CAPABILITIES
Die OID_PNP_CAPABILITIES OID fordert einen Miniporttreiber auf, die Aktivierungsfunktionen seines Netzwerkadapters zurückzugeben, oder fordert einen Zwischentreiber auf, die Aktivierungsfunktionen des Zwischentreibers zurückzugeben. Die Aktivierungsfunktionen sind als NDIS_PNP_CAPABILITIES-Struktur formatiert, die wie folgt definiert ist:
typedef struct _NDIS_PNP_CAPABILITIES {
ULONG Flags;
NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
Die Member dieser Struktur enthalten die folgenden Informationen:
Flags
NDIS_DEVICE_WAKE_UP_ENABLE
NDIS legt dieses Flag fest, wenn der zugrunde liegende Miniporttreiber mindestens eine Aktivierungsfunktion unterstützt. Protokolltreiber können dieses Flag testen, um zu ermitteln, ob ein zugrunde liegender Miniporttreiber über Aktivierungsfunktionen verfügt. Miniport-Treiber sollten nicht auf dieses Flag zugreifen.
WakeUpCapabilities
Eine NDIS_PM_WAKE_UP_CAPABILITIES-Struktur , die die Aktivierungsfunktionen des Netzwerkadapters des Miniporttreibers angibt. Die NDIS_PM_WAKE_UP_CAPABILITIES-Struktur ist wie folgt definiert:
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;
Die Member dieser Struktur enthalten die folgenden Informationen:
MinMagicPacketWakeUp
Gibt den niedrigsten Geräteleistungszustand an, aus dem der Netzwerkadapter des Miniporttreibers beim Empfang eines Magic-Pakets eine Aktivierung signalisieren kann. (Ein Magic-Paket ist ein Paket, das 16 zusammenhängende Kopien der Ethernet-Adresse des empfangenden Netzwerkadapters enthält.) Der Energiezustand des Geräts wird als einer der folgenden NDIS_DEVICE_POWER_STATE Werte angegeben:
NdisDeviceStateUnspecified
Der Netzwerkadapter unterstützt keine Aktivierung von Magic-Paketen.
NdisDeviceStateD0
Der Netzwerkadapter kann eine Magic-Packet-Aktivierung aus dem Gerätestromzustand D0 signalisieren. Da D0 der vollständig unterstützte Zustand ist, führt dies nicht zu einer Aktivierung, kann aber als Laufzeitereignis verwendet werden.
NdisDeviceStateD1
Der Netzwerkadapter kann eine Magic-Packet-Aktivierung über die Gerätestromzustände D1 und D0 signalisieren.
NdisDeviceStateD2
Der Netzwerkadapter kann eine Magic-Packet-Aktivierung über die Gerätezustände D2, D1 und D0 signalisieren.
NdisDeviceStateD3
Der Netzwerkadapter kann eine Magic-Packet-Aktivierung über die Geräteleistungszustände D3, D2, D1 und D0 signalisieren.
MinPatternWakeUp
Gibt den niedrigsten Geräteleistungszustand an, aus dem der Netzwerkadapter des Miniporttreibers beim Empfang eines Netzwerkframes, der ein vom Protokolltreiber angegebenes Muster enthält, ein Aktivierungsereignis signalisieren kann. Der Energiezustand wird als einer der folgenden NDIS_DEVICE_POWER_STATE Werte angegeben:
NdisDeviceStateUnspecified
Der Netzwerkadapter unterstützt keine Muster-Match-Reaktivierungen.
NdisDeviceStateD0
Der Netzwerkadapter kann eine Muster-Übereinstimmungsreaktivierung aus dem Gerätestromzustand D0 signalisieren. Da D0 der vollständig unterstützte Zustand ist, führt dies nicht zu einer Aktivierung, kann aber als Laufzeitereignis verwendet werden.
NdisDeviceStateD1
Der Netzwerkadapter kann eine Muster-Match-Aktivierung über die Gerätestromzustände D1 und D0 signalisieren.
NdisDeviceStateD2
Der Netzwerkadapter kann eine Muster-Match-Aktivierung über die Geräteleistungszustände D2, D1 und D0 signalisieren.
NdisDeviceStateD3
Der Netzwerkadapter kann eine Muster-Match-Aktivierung über die Gerätestromzustände D3, D2, D1 und D0 signalisieren.
MinLinkChangeWakeUp
Reserviert. NDIS ignoriert diesen Member.
Für Miniport-Treiber
Nachdem der Miniporttreiber die Initialisierung abgeschlossen hat, können sowohl der Protokolltreiber als auch die NDIS den Miniporttreiber mit dieser OID abfragen, um Folgendes zu bestimmen:
Gibt an, ob der Miniporttreiber PM-fähig ist.
Die Funktionen des Netzwerkadapters zum Angeben von Netzwerkreaktivierungsereignissen.
Wenn der Miniporttreiber NDIS_STATUS_SUCCESS zu einer Abfrage von OID_PNP_CAPABILITIES zurückgibt, betrachtet NDIS den Miniporttreiber als PM-fähig. Wenn der Miniporttreiber NDIS_STATUS_NOT_SUPPORTED zurückgibt, betrachtet NDIS den Miniporttreiber als Legacy-Miniporttreiber, der nicht PM-fähig ist.
Beim Aufrufen von NdisMSetAttributesEx kann ein Miniporttreiber, der keine Aktivierungsfunktionen unterstützt, aber seinen Netzwerkadapterzustand über einen Energiezustandsübergang speichern und wiederherstellen kann, das flag NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND festlegen. Durch das Festlegen dieses Flags wird verhindert, dass NDIS die MiniportHalt-Funktion des Treibers aufruft, bevor das System in einen Energiesparmodus wechselt. Wenn der Miniporttreiber jedoch als Reaktion auf eine Abfrage OID_PNP_CAPABILITIES NDIS_STATUS_NOT_SUPPORTED zurückgibt, ignoriert NDIS das Flag NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND und hält den Netzwerkadapter an, wenn das System in einen Energiesparzustand wechselt.
Der Netzwerkadapter eines Miniporttreibers kann eine beliebige Kombination von Aktivierungsereignissen unterstützen, einschließlich keine Aktivierungsereignisse. Ein Miniporttreiber kann die Energieverwaltung auch dann unterstützen, wenn der Netzwerkadapter keine Aktivierungsereignisse signalisieren kann. In diesem Fall sind die einzigen Energieverwaltungs-OIDs, die der Miniporttreiber zusätzlich zu OID_PNP_CAPABILITIES unterstützt, OID_PNP_QUERY_POWER und OID_PNP_SET_POWER.
Wenn der Netzwerkadapter eines Miniporttreibers ein bestimmtes Aktivierungsereignis nicht unterstützt, sollte der Miniporttreiber den NDIS_DEVICE_POWER_STATE Wert NdisDeviceStateUnspecified für das Aktivierungsereignis in der NDIS_PM_WAKE_UP_CAPABILITIES-Struktur angeben.
OID_PNP_CAPABILITIES gibt nur die Aktivierungsfunktionen des Netzwerkadapters eines Miniporttreibers an. Solche Funktionen werden nicht aktiviert. OID_PNP_ENABLE_WAKE_UP wird verwendet, um die Aktivierungsfunktionen eines Netzwerkadapters zu aktivieren.
Für fortgeschrittene Treiber
Wenn der zugrunde liegende Netzwerkadapter PM-fähig ist, sollte der Zwischentreiber NDIS_STATUS_SUCCESS zu einer Abfrage von OID_PNP_CAPABILITIES zurückgeben. In der von dieser OID zurückgegebenen NDIS_PM_WAKE_UP_CAPABILITIES-Struktur sollte der Zwischentreiber für jede Aktivierungsfunktion den Geräteleistungszustand NdisDeviceStateUnspecified ( MinMagicPacketWakeUp oder MinPatternWakeUp) angeben. Eine solche Antwort gibt an, dass der Zwischentreiber PM-fähig ist, aber kein physisches Gerät verwaltet.
Wenn der zugrunde liegende Netzwerkadapter nicht PM-fähig ist, sollte der Zwischentreiber NDIS_STATUS_NOT_SUPPORTED an eine Abfrage mit OID_PNP_CAPABILITIES zurückgeben.
Hinweis Informationen dazu, wie Miniporttreiber von NDIS 6.20 und höher Energieverwaltungsfunktionen melden, finden Sie unter Reporting Power Management Capabilities( Reporting Power Management Capabilities).
Requirements (Anforderungen)
Version |
Unterstützt in NDIS 6.0 und NDIS 6.1. Verwenden Sie für NDIS 6.20 und höher stattdessen OID_PM_CURRENT_CAPABILITIES . |
Header |
Ntddndis.h (include Ndis.h) |