Metode IWDFDevice2::AssignSxWakeSettings (wudfddi.h)
[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]
Metode AssignSxWakeSettings menyediakan informasi yang disediakan driver tentang kemampuan perangkat untuk memicu sinyal bangun saat perangkat dan sistem dalam status daya rendah.
Sintaks
HRESULT AssignSxWakeSettings(
[in] DEVICE_POWER_STATE DxState,
[in] WDF_POWER_POLICY_SX_WAKE_USER_CONTROL UserControlOfWakeSettings,
[in] WDF_TRI_STATE Enabled
);
Parameter
[in] DxState
Enumerator berjenis DEVICE_POWER_STATE yang mengidentifikasi status daya perangkat rendah yang akan dimasukkan perangkat ketika status daya sistem turun ke status daya rendah yang dapat dibangkitkan. Nilai DxState tidak boleh PowerDeviceD0. nilai DEVICE_POWER_STATE didefinisikan dalam wdm.h.
[in] UserControlOfWakeSettings
Enumerator yang diketik WDF_POWER_POLICY_SX_WAKE_USER_CONTROL yang menunjukkan apakah pengguna memiliki kemampuan untuk mengubah pengaturan bangun perangkat.
[in] Enabled
Enumerator jenis WDF_TRI_STATE yang menunjukkan apakah perangkat dapat membangunkan sistem (yaitu, memulihkan sistem ke S0) ketika sistem dalam status daya rendah. Anggota ini bisa memiliki salah satu nilai berikut ini:
WdfTrue - Membangunkan sistem diaktifkan.
WdfFalse - Membangunkan sistem dinonaktifkan.
WdfUseDefault - Membangunkan sistem awalnya diaktifkan secara default; tetapi jika anggota UserControlOfWakeSettings diatur ke WakeAllowUserControl, pengaturan pengguna atau file INF driver akan mengambil alih nilai awal.
Jika membangunkan sistem diaktifkan dan sistem akan memasuki status daya rendah, kerangka kerja memanggil fungsi panggilan balik IPowerPolicyCallbackWakeFromSx::OnArmWakeFromSx driver sebelum perangkat memasuki status daya rendah.
Nilai kembali
AssignSxWakeSettings mengembalikan S_OK jika operasi berhasil. Jika tidak, metode mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Pemanggil menentukan nilai yang tidak valid untuk parameter input. |
|
Driver panggilan bukan pemilik kebijakan daya perangkat. |
|
Parameter DxState menentukan status daya perangkat yang tidak valid, atau driver bus menunjukkan bahwa perangkat tidak dapat memicu sinyal bangun, |
Metode ini mungkin mengembalikan salah satu nilai lain yang dikandung Winerror.h.
Keterangan
Pertama kali driver memanggil AssignSxWakeSettings, tindakan berikut terjadi:
- Kerangka kerja menyimpan nilai parameter.
- Jika parameter UserControlOfWakeSettings diatur ke WakeAllowUserControl dan jika parameter Diaktifkan diatur ke WdfUseDefault, kerangka kerja membaca registri untuk mengetahui apakah pengguna telah mengaktifkan membangunkan sistem.
- Menyimpan nilai parameter UserControlOfWakeSettings .
- Mencari pengaturan pengguna di registri, jika nilai parameter yang Diaktifkan adalah WdfUseDefault.
- Nilai tidak boleh PowerDeviceD0.
- Jika Anda menentukan DevicePowerMaximum, kerangka kerja menggunakan nilai driver mode kernel untuk bus perangkat yang disediakan di anggota DeviceWake dari struktur WDF_DEVICE_POWER_CAPABILITIES-nya .
- Anda tidak dapat menentukan status daya perangkat yang lebih rendah dari status daya perangkat di anggota DeviceWake dari struktur WDF_DEVICE_POWER_CAPABILITIES driver bus mode kernel. (Dengan kata lain, jika nilai DeviceWake driver bus adalah PowerDeviceD2, nilai DxState driver fungsi Anda tidak boleh PowerDeviceD3.)
Untuk informasi selengkapnya tentang mendukung kemampuan bangun perangkat, lihat Wake-Up Sistem Pendukung di Driver berbasis UMDF.
Contoh kode berikut mendapatkan antarmuka IWDFDevice2 lalu memanggil AssignSxWakeSettings.
IWDFDevice2 *pIWDFDevice2 = NULL;
HRESULT hr;
//
// Get a pointer to the IWDFDevice2 interface.
//
hr = pIWDFDevice->QueryInterface(__uuidof(IWDFDevice2),
(void**) &pIWDFDevice2);
if (SUCCEEDED(hr))
{
hr = pIWDFDevice2->AssignSxWakeSettings(PowerDeviceMaximum,
WakeAllowUserControl,
WdfUseDefault);
}
...
SAFE_RELEASE(pIWDFDevice2);
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1.9 |
Header | wudfddi.h (termasuk Wudfddi.h) |
DLL | WUDFx.dll |