Fungsi PoCreatePowerRequest (wdm.h)

Rutinitas PoCreatePowerRequest membuat objek permintaan daya.

Sintaks

NTSTATUS PoCreatePowerRequest(
  [out] PVOID                   *PowerRequest,
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  PCOUNTED_REASON_CONTEXT Context
);

Parameter

[out] PowerRequest

Penunjuk ke lokasi di mana rutinitas menulis penunjuk ke objek permintaan daya yang baru dibuat. Jika panggilan gagal, rutin menulis NULL ke lokasi ini.

[in] DeviceObject

Penunjuk ke objek perangkat pemanggil (struktur DEVICE_OBJECT ).

[in] Context

Penunjuk ke struktur COUNTED_REASON_CONTEXT yang menjelaskan mengapa penelepon membuat objek permintaan daya. Parameter ini bersifat opsional dan dapat diatur ke NULL.

Nilai kembali

PoCreatePowerRequest mengembalikan STATUS_SUCCESS jika panggilan berhasil. Jika panggilan gagal, kemungkinan kode pengembalian kesalahan meliputi yang berikut ini:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter DeviceObject adalah NULL.
STATUS_INSUFFICIENT_RESOURCES
Tidak tersedia cukup memori untuk membuat objek permintaan daya.

Keterangan

Rutinitas ini membuat objek permintaan daya. Untuk mengaktifkan permintaan daya, pemanggil harus membuat satu objek permintaan daya dan menggunakan objek tersebut untuk semua panggilan ke rutinitas PoSetPowerRequest dan PoClearPowerRequest .

Pengandar dapat menggunakan permintaan daya untuk mengambil alih aspek tertentu dari perilaku daya default komputer. Misalnya, driver untuk perangkat penerima TV dapat menggunakan permintaan daya untuk mencegah manajer daya mengosongkan layar secara otomatis selama jangka waktu yang lama di mana tidak ada interaksi pengguna yang terjadi.

Ketika objek permintaan daya tidak lagi diperlukan, pemanggil harus menghapus objek dengan memanggil rutinitas PoDeletePowerRequest . Driver harus menghapus objek permintaan daya sebelum menghapus objek perangkat yang digunakan untuk membuat objek permintaan daya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 7.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Lihat juga

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest