Bagikan melalui


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

Lihat juga

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3

WdfDeviceAssignS0IdleSettings