Metode IWDFDevice3::AssignS0IdleSettingsEx (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 AssignS0IdleSettingsEx menyediakan informasi yang disediakan driver yang digunakan kerangka kerja saat perangkat menganggur dan sistem dalam status berfungsi (S0).
Sintaks
HRESULT AssignS0IdleSettingsEx(
[in] PWUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleSettings
);
Parameter
[in] IdleSettings
Penunjuk ke struktur WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS yang diinisialisasi oleh panggilan ke makro WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT .
Nilai kembali
Metode mengembalikan S_OK jika operasi berhasil. Jika tidak, metode ini mengembalikan salah satu kode kesalahan yang didefinisikan dalam Winerror.h.
Keterangan
Driver dapat memanggil AssignS0IdleSettingsEx kapan saja setelah driver memanggil IWDFDriver::CreateDevice. Sebelum memanggil IWDFDriver::CreateDevice, driver harus memanggil IWDFDeviceInitialize::SetPowerPolicyOwnership dengan parameter fTrue diatur ke TRUE. Untuk contoh urutan panggilan ini, lihat IWDFDriver::CreateDevice.
Jika driver Anda memanggil AssignS0IdleSettingsEx lebih dari sekali, ikuti aturan yang dijelaskan di bagian Keterangan assignS0IdleSettings.
Untuk informasi selengkapnya tentang matikan daya diam, lihat Mendukung Power-Down menganggur di Driver berbasis UMDF.
Contoh
Contoh kode berikut menginisialisasi struktur WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS dan menetapkan nilai batas waktu diam 10 detik. Contoh kemudian mendapatkan antarmuka IWDFDevice3 dan memanggil AssignS0IdleSettingsEx.
IWDFDevice3 *pIWDFDevice3 = NULL;
HRESULT hr;
WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS idleSettings;
WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(
&idleSettings,
IdleCanWakeFromS0
);
idleSettings.IdleTimeout = 10000;
//
// Get a pointer to the IWDFDevice3 interface.
//
hr = pIWDFDevice->QueryInterface(__uuidof(IWDFDevice3),
(void**) &pIWDFDevice3);
if (SUCCEEDED(hr))
{
hr = pIWDFDevice3->AssignS0IdleSettingsEx(&idleSettings
);
}
...
SAFE_RELEASE(pIWDFDevice3);
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1.11 |
Header | wudfddi.h |
DLL | WUDFx.dll |