GET_D3COLD_CAPABILITY Rückruffunktion (wdm.h)
Die GetBusDriverD3ColdSupport-Routine ermöglicht es dem Treiber für ein Gerät, abzufragen, ob der aufzählende Bustreiber den D3cold-Gerätestromzustand unterstützt.
Syntax
GET_D3COLD_CAPABILITY GetD3coldCapability;
NTSTATUS GetD3coldCapability(
[in, optional] PVOID Context,
[out] PBOOLEAN D3ColdSupported
)
{...}
Parameter
[in, optional] Context
Ein Zeiger auf schnittstellenspezifische Kontextinformationen. Der Aufrufer legt diesen Parameter auf den Wert des Context-Elements der D3COLD_SUPPORT_INTERFACE-Struktur für die Schnittstelle fest.
[out] D3ColdSupported
Ein Zeiger auf eine BOOLESCHE Variable, in die die Routine einen Wert schreibt, um anzugeben, ob der Bustreiber D3cold unterstützt. Wenn dieser Wert TRUE ist, unterstützt der Bustreiber D3cold. Bei FALSE unterstützt der Bustreiber D3cold nicht. Wenn der Aufruf fehlschlägt, gibt die Routine einen Fehler status Code zurück und schreibt nichts in diese Variable.
Rückgabewert
Die GetBusDriverD3ColdSupport-Routine gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück. Andernfalls wird ein entsprechender Fehler status Code zurückgegeben.
Hinweise
Der Treiber für das Gerät ruft die Version dieser Routine auf, die vom Windows ACPI-Treiber implementiert wird, Acpi.sys. Diese Routine überprüft den übergeordneten Bustreiber für das Gerät, um zu ermitteln, ob dieser Bustreiber den D3cold-Energiezustand unterstützt.
Ab Windows 8 stellt Microsoft beispielsweise einen Usb 3.0 eXtensible Host Controller Interface (xHCI)-Treiber für den Posteingang bereit, der D3cold unterstützt. Einige Hardwarehersteller von Drittanbietern stellen Windows-Treiber für ihre xHCI-Controller bereit, aber diese Treiber unterstützen D3cold möglicherweise nicht. Der Treiber für ein USB 3.0-Gerät kann die GetBusDriverD3ColdSupport-Routine aufrufen, um zu bestimmen, ob der übergeordnete xHCI-Controllertreiber D3cold unterstützt.
Ein Bustreiber unterstützt D3cold, wenn alle folgenden Punkte zutreffen:
- Der Bustreiber implementiert die GUID_D3COLD_SUPPORT_INTERFACE-Treiberschnittstelle.
- Der Bustreiber implementiert die GetBusDriverD3ColdSupport-Routine in dieser Schnittstelle.
- Der Ausgabewert der GetBusDriverD3ColdSupport-Routine gibt an, dass der Bustreiber D3cold unterstützt.
Ein Gerät in einem Bus kann nur dann zum D3cold-Unterzustand wechseln, wenn der Bustreiber diesen Übergang unterstützt. Wenn der Bustreiber D3cold nicht unterstützt, wechselt das Gerät nie in D3cold, auch wenn der Funktionstreiber für das Gerät die SetD3ColdSupport-Routine aufruft, um den Übergang zu D3cold zu ermöglichen. In diesem Fall haben SetD3ColdSupport-Aufrufe keine Auswirkung, sind aber harmlos.
Aus diesem Grund müssen die meisten Gerätetreiber nie die GetBusDriverD3ColdSupport-Routine aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Desktop |
Kopfzeile | wdm.h (wdm.h einschließen) |
IRQL | PASSIVE_LEVEL |