WDF_DEVICE_POWER_CAPABILITIES struttura (wdfdevice.h)
[Si applica a KMDF e UMDF]
La struttura WDF_DEVICE_POWER_CAPABILITIES descrive le funzionalità di alimentazione di un dispositivo.
Sintassi
typedef struct _WDF_DEVICE_POWER_CAPABILITIES {
ULONG Size;
WDF_TRI_STATE DeviceD1;
WDF_TRI_STATE DeviceD2;
WDF_TRI_STATE WakeFromD0;
WDF_TRI_STATE WakeFromD1;
WDF_TRI_STATE WakeFromD2;
WDF_TRI_STATE WakeFromD3;
DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
DEVICE_POWER_STATE DeviceWake;
SYSTEM_POWER_STATE SystemWake;
ULONG D1Latency;
ULONG D2Latency;
ULONG D3Latency;
DEVICE_POWER_STATE IdealDxStateForSx;
} WDF_DEVICE_POWER_CAPABILITIES, *PWDF_DEVICE_POWER_CAPABILITIES;
Members
Size
Dimensione, in byte, della struttura.
DeviceD1
Valore WDF_TRI_STATE tipizzato che indica, se impostato su WdfTrue, che il dispositivo supporta lo stato di sospensione del dispositivo D1. Per altre informazioni sul valore WDF_TRI_STATE , vedere la sezione Osservazioni seguenti.
DeviceD2
Valore WDF_TRI_STATE tipizzato che indica, se impostato su WdfTrue, che il dispositivo supporta lo stato di sospensione del dispositivo D2.
WakeFromD0
Valore WDF_TRI_STATE tipizzato che indica, se impostato su WdfTrue, che il dispositivo può rispondere a un segnale di riattivazione durante lo stato D0.
WakeFromD1
Valore WDF_TRI_STATE tipizzato che indica, se impostato su WdfTrue, che il dispositivo può rispondere a un segnale di riattivazione durante lo stato D1.
WakeFromD2
Valore WDF_TRI_STATE digitato che indica, se impostato su WdfTrue, che il dispositivo può rispondere a un segnale di riattivazione durante lo stato D2.
WakeFromD3
Valore WDF_TRI_STATE tipizzato che indica, se impostato su WdfTrue, che il dispositivo può rispondere a un segnale di riattivazione durante lo stato D3.
DeviceState[PowerSystemMaximum]
Matrice di valori DEVICE_POWER_STATE tipizzati che indica lo stato del dispositivo più alimentato che il dispositivo supporta per ogni stato di alimentazione del sistema. Questa matrice usa l'enumerazione SYSTEM_POWER_STATE come valori di indice. Se il valore di un elemento di matrice è PowerDeviceMaximum, il framework usa qualsiasi valore archiviato dal sistema operativo per tale elemento. Le enumerazioni DEVICE_POWER_STATE e SYSTEM_POWER_STATE sono definite in wdm.h. Per altre informazioni sul membro DeviceState , vedere DeviceState.
DeviceWake
Valore DEVICE_POWER_STATE tipizzato che indica lo stato di alimentazione del dispositivo più basso da cui il dispositivo può inviare un segnale di riattivazione al sistema. Se questo valore è PowerDeviceMaximum, il framework usa qualsiasi valore attualmente archiviato nel sistema per questo membro.
SystemWake
Valore SYSTEM_POWER_STATE tipizzato che indica lo stato di alimentazione del sistema più basso da cui il dispositivo può inviare un segnale di riattivazione al sistema. Se questo valore è PowerSystemMaximum, il framework usa qualsiasi valore attualmente archiviato nel sistema per questo membro. SYSTEM_POWER_STATE valori sono definiti in wdm.h.
D1Latency
Tempo approssimativo, in unità da 100 nanosecondi, che il dispositivo richiede di tornare al suo stato D0 dallo stato D1. Se questo valore è -1, il framework usa qualsiasi valore attualmente archiviato nel sistema per questo membro.
D2Latency
Tempo approssimativo, in unità a 100 nanosecondi, che il dispositivo richiede di tornare al suo stato D0 dallo stato D2. Se questo valore è -1, il framework usa qualsiasi valore attualmente archiviato nel sistema per questo membro.
D3Latency
Tempo approssimativo, in unità da 100 nanosecondi, che il dispositivo richiede di tornare al suo stato D0 dallo stato D3. Se questo valore è -1, il framework usa qualsiasi valore attualmente archiviato nel sistema per questo membro.
IdealDxStateForSx
Valore DEVICE_POWER_STATE tipizzato che indica lo stato di sospensione del dispositivo che il dispositivo deve immettere quando il sistema entra in qualsiasi stato di sospensione del sistema e il dispositivo non è abilitato per riattivare il sistema. Se questo valore è zero, il framework usa PowerDeviceD3. Questo valore non può essere PowerDeviceD0.
Se un driver specifica un valore IdealDxStateForSx che rappresenta uno stato di sospensione del dispositivo più elevato rispetto allo stack del dispositivo specificato nella matrice DeviceState del dispositivo, il framework usa lo stato con alimentazione inferiore presente nella matrice. Ad esempio, se il driver specifica un valore IdealDxStateForSx di D1 e la matrice DeviceState del dispositivo specifica D2, il framework usa D2.
Commenti
La struttura WDF_DEVICE_POWER_CAPABILITIES viene usata come input per WdfDeviceSetPowerCapabilities.
Diversi membri usano il tipo di WDF_TRI_STATE . Per questi membri, si applicano le regole seguenti:
- Un valore di WdfTrue indica che il dispositivo supporta la funzionalità e un valore di WdfFalse indica che non lo fa.
- I driver di funzione e i driver di filtro possono specificare WdfTrue o WdfFalse o un valore di WdfUseDefault per indicare che il framework deve usare il valore fornito da un driver inferiore nello stack. Ad esempio, se un driver del bus specifica WdfTrue per DeviceD1 e il driver di funzione del dispositivo specifica WdfUseDefault, il framework usa WdfTrue per la funzionalità.
- Quando un driver del bus chiama WdfDeviceSetPowerCapabilities dopo aver creato un oggetto dispositivo per un dispositivo figlio, deve specificare WdfTrue o WdfFalse. Un driver del bus può specificare WdfUseDefault per un dispositivo figlio, ma in questo caso WdfUseDefault è uguale a WdfFalse.
Requisiti
Requisito | Valore |
---|---|
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |