GET_D3COLD_CAPABILITY funzione di callback (wdm.h)
La routine GetBusDriverD3ColdSupport consente al driver di un dispositivo di eseguire una query se il driver del bus di enumerazione supporta lo stato di alimentazione del dispositivo D3cold.
Sintassi
GET_D3COLD_CAPABILITY GetD3coldCapability;
NTSTATUS GetD3coldCapability(
[in, optional] PVOID Context,
[out] PBOOLEAN D3ColdSupported
)
{...}
Parametri
[in, optional] Context
Puntatore a informazioni di contesto specifiche dell'interfaccia. Il chiamante imposta questo parametro sul valore del membro Context della struttura D3COLD_SUPPORT_INTERFACE per l'interfaccia.
[out] D3ColdSupported
Puntatore a una variabile BOOLEAN a cui la routine scrive un valore per indicare se il driver del bus supporta il D3cold. Se questo valore è TRUE, il driver del bus supporta D3cold. Se FALSE, il driver del bus non supporta D3cold. Se la chiamata ha esito negativo, la routine restituisce un codice di stato di errore e non scrive nulla in questa variabile.
Valore restituito
La routine GetBusDriverD3ColdSupport restituisce STATUS_SUCCESS se ha esito positivo. In caso contrario, restituisce un codice di stato di errore appropriato.
Commenti
Il driver per il dispositivo chiama la versione di questa routine implementata dal driver ACPI di Windows, Acpi.sys. Questa routine controlla il driver del bus padre per il dispositivo per determinare se questo driver del bus supporta lo stato di alimentazione D3cold.
Ad esempio, a partire da Windows 8, Microsoft fornisce un driver USB 3.0 eXtensible Host Interface (xHCI) che supporta D3cold. Alcuni fornitori hardware di terze parti forniscono driver Windows per i controller xHCI, ma questi driver potrebbero non supportare D3cold. Il driver per un dispositivo USB 3.0 può chiamare la routine GetBusDriverD3ColdSupport per determinare se il driver controller xHCI padre supporta D3cold.
Un driver del bus supporta D3cold se tutte le operazioni seguenti sono vere:
- Il driver del bus implementa l'interfaccia del driver di GUID_D3COLD_SUPPORT_INTERFACE.
- Il driver del bus implementa la routine GetBusDriverD3ColdSupport in questa interfaccia.
- Il valore di output della routine GetBusDriverD3ColdSupport indica che il driver del bus supporta D3cold.
Un dispositivo in un bus può eseguire una transizione alla sottostate D3cold solo se il driver del bus supporta questa transizione. Se il driver del bus non supporta D3cold, il dispositivo non entra mai in D3cold, anche se il driver di funzione per il dispositivo chiama la routine SetD3ColdSupport per abilitare la transizione a D3cold. In questo caso, le chiamate SetD3ColdSupport non hanno alcun effetto, ma sono innocue.
Per questo motivo, la maggior parte dei driver di dispositivo non deve mai chiamare la routine GetBusDriverD3ColdSupport .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8. |
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h) |
IRQL | PASSIVE_LEVEL |