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.
Per inizializzare una struttura WDF_DEVICE_POWER_CAPABILITIES, un driver deve chiamare WDF_DEVICE_POWER_CAPABILITIES_INIT.

Requisiti

Requisito Valore
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfdevice.h (includere Wdf.h)

Vedi anche

WDF_DEVICE_PNP_CAPABILITIES