Bagikan melalui


struktur WDF_DEVICE_POWER_CAPABILITIES (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Struktur WDF_DEVICE_POWER_CAPABILITIES menjelaskan kemampuan daya perangkat.

Sintaks

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;

Anggota

Size

Ukuran, dalam byte, dari struktur ini.

DeviceD1

Nilai jenis WDF_TRI_STATE yang menunjukkan, jika diatur ke WdfTrue, bahwa perangkat mendukung status tidur perangkat D1. Untuk informasi selengkapnya tentang nilai WDF_TRI_STATE , lihat bagian Keterangan berikut ini.

DeviceD2

Nilai jenis WDF_TRI_STATE yang menunjukkan, jika diatur ke WdfTrue, bahwa perangkat mendukung status tidur perangkat D2.

WakeFromD0

Nilai jenis WDF_TRI_STATE yang menunjukkan, jika diatur ke WdfTrue, perangkat dapat merespons sinyal bangun saat dalam status D0 .

WakeFromD1

Nilai berjenis WDF_TRI_STATE yang menunjukkan, jika diatur ke WdfTrue, perangkat dapat merespons sinyal bangun saat dalam status D1.

WakeFromD2

Nilai jenis WDF_TRI_STATE yang menunjukkan, jika diatur ke WdfTrue, perangkat dapat merespons sinyal bangun saat dalam status D2.

WakeFromD3

Nilai berjenis WDF_TRI_STATE yang menunjukkan, jika diatur ke WdfTrue, perangkat dapat merespons sinyal bangun saat dalam status D3.

DeviceState[PowerSystemMaximum]

Array nilai DEVICE_POWER_STATE-typed yang menunjukkan status perangkat yang paling didukung yang didukung perangkat untuk setiap status daya sistem. Array ini menggunakan enumerasi SYSTEM_POWER_STATE sebagai nilai indeks. Jika nilai elemen array adalah PowerDeviceMaximum, kerangka kerja menggunakan nilai apa pun yang telah disimpan sistem operasi untuk elemen tersebut. Enumerasi DEVICE_POWER_STATE dan SYSTEM_POWER_STATE didefinisikan dalam wdm.h. Untuk informasi selengkapnya tentang anggota DeviceState , lihat DeviceState.

DeviceWake

Nilai yang diketik DEVICE_POWER_STATE yang menunjukkan status daya perangkat terendah dari mana perangkat dapat mengirim sinyal bangun ke sistem. Jika nilai ini adalah PowerDeviceMaximum, kerangka kerja menggunakan nilai apa pun yang saat ini disimpan dalam sistem untuk anggota ini.

SystemWake

Nilai jenis SYSTEM_POWER_STATE yang menunjukkan status daya sistem terendah dari mana perangkat dapat mengirim sinyal bangun ke sistem. Jika nilai ini adalah PowerSystemMaximum, kerangka kerja menggunakan nilai apa pun yang saat ini disimpan dalam sistem untuk anggota ini. nilai SYSTEM_POWER_STATE didefinisikan dalam wdm.h.

D1Latency

Perkiraan waktu, dalam unit 100 nanodetik, bahwa perangkat harus kembali ke status D0 dari status D1-nya. Jika nilai ini adalah -1, kerangka kerja menggunakan nilai apa pun yang saat ini disimpan dalam sistem untuk anggota ini.

D2Latency

Perkiraan waktu, dalam unit 100 nanodetik, bahwa perangkat harus kembali ke status D0 dari status D2-nya. Jika nilai ini adalah -1, kerangka kerja menggunakan nilai apa pun yang saat ini disimpan dalam sistem untuk anggota ini.

D3Latency

Perkiraan waktu, dalam unit 100 nanodetik, bahwa perangkat harus kembali ke status D0 dari status D3-nya. Jika nilai ini adalah -1, kerangka kerja menggunakan nilai apa pun yang saat ini disimpan dalam sistem untuk anggota ini.

IdealDxStateForSx

Nilai jenis DEVICE_POWER_STATE yang menunjukkan status tidur perangkat yang harus dimasukkan perangkat ketika sistem memasuki status sistem tidur dan perangkat tidak diaktifkan untuk membangunkan sistem. Jika nilai ini nol, kerangka kerja menggunakan PowerDeviceD3. Nilai ini tidak boleh PowerDeviceD0.

Jika driver menentukan nilai IdealDxStateForSx yang mewakili status tidur perangkat dengan daya lebih tinggi daripada yang telah ditentukan tumpukan perangkat dalam array DeviceState perangkat, kerangka kerja menggunakan status bertenaga lebih rendah yang ada dalam array. Misalnya, jika driver menentukan nilai IdealDxStateForSx D1 dan array DeviceState perangkat menentukan D2, kerangka kerja menggunakan D2.

Keterangan

Struktur WDF_DEVICE_POWER_CAPABILITIES digunakan sebagai input ke WdfDeviceSetPowerCapabilities.

Beberapa anggota menggunakan jenis WDF_TRI_STATE . Untuk anggota ini, aturan berikut berlaku:

  • Nilai WdfTrue menunjukkan bahwa perangkat mendukung kemampuan dan nilai WdfFalse menunjukkan tidak.
  • Driver fungsi dan driver filter dapat menentukan WdfTrue atau WdfFalse, atau nilai WdfUseDefault untuk menunjukkan bahwa kerangka kerja harus menggunakan nilai yang disediakan oleh driver yang lebih rendah di tumpukan. Misalnya, jika driver bus menentukan WdfTrue untuk DeviceD1 dan driver fungsi perangkat menentukan WdfUseDefault, kerangka kerja menggunakan WdfTrue untuk kemampuan tersebut.
  • Ketika driver bus memanggil WdfDeviceSetPowerCapabilities setelah membuat objek perangkat untuk perangkat anak, itu harus menentukan WdfTrue atau WdfFalse. Driver bus dapat menentukan WdfUseDefault untuk perangkat anak, tetapi dalam hal ini WdfUseDefault sama dengan WdfFalse.
Untuk menginisialisasi struktur WDF_DEVICE_POWER_CAPABILITIES, driver harus memanggil WDF_DEVICE_POWER_CAPABILITIES_INIT.

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)

Lihat juga

WDF_DEVICE_PNP_CAPABILITIES