Fungsi PoFxPowerControl (wdm.h)
Rutinitas PoFxPowerControl mengirimkan permintaan kontrol daya ke kerangka kerja manajemen daya (PoFx).
Sintaks
NTSTATUS PoFxPowerControl(
[in] POHANDLE Handle,
[in] LPCGUID PowerControlCode,
[in, optional] PVOID InBuffer,
[in] SIZE_T InBufferSize,
[out, optional] PVOID OutBuffer,
[in] SIZE_T OutBufferSize,
[out, optional] PSIZE_T BytesReturned
);
Parameter
[in] Handle
Handel yang mewakili pendaftaran perangkat dengan PoFx. Driver perangkat sebelumnya menerima handel ini dari rutinitas PoFxRegisterDevice .
[in] PowerControlCode
Penunjuk ke kode kontrol daya. Kode ini adalah nilai GUID yang menentukan operasi yang diminta.
[in, optional] InBuffer
Penunjuk ke buffer yang dialokasikan penelepon yang berisi data input untuk operasi. Format untuk data dalam buffer ini tergantung pada kode kontrol daya yang ditentukan oleh parameter PowerControlCode . Parameter InBuffer bersifat opsional dan dapat ditentukan sebagai NULL jika operasi yang ditentukan tidak memerlukan data input.
[in] InBufferSize
Ukuran, dalam byte, dari buffer input yang diacu oleh parameter InBuffer . Jika InBuffer ADALAH NULL, atur InBufferSize ke nol.
[out, optional] OutBuffer
Penunjuk ke buffer yang dialokasikan penelepon yang berisi data output dari operasi. Format untuk data dalam buffer ini tergantung pada kode kontrol daya yang ditentukan oleh parameter PowerControlCode . Parameter OutBuffer bersifat opsional dan dapat ditentukan sebagai NULL jika operasi yang ditentukan tidak menghasilkan data output.
[in] OutBufferSize
Ukuran, dalam byte, dari buffer output yang diacu oleh parameter OutBuffer . Jika OutBuffer ADALAH NULL, atur OutBufferSize ke nol.
[out, optional] BytesReturned
Penunjuk ke lokasi di mana rutinitas menulis jumlah byte data yang ditulis ke buffer yang ditujukan oleh OutBuffer. Jumlah byte yang ditulis akan kurang dari atau sama dengan OutBufferSize. Parameter ini bersifat opsional dan dapat ditentukan sebagai NULL jika pemanggil tidak perlu mengetahui berapa banyak byte yang ditulis ke buffer output.
Nilai kembali
PoFxPowerControl mengembalikan STATUS_SUCCESS jika operasi yang diminta berhasil. Kemungkinan nilai pengembalian kesalahan mencakup kode status berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Operasi kontrol daya yang diminta tidak diimplementasikan. |
|
Plug-in mesin daya (PEP) tidak mengakui dukungan untuk perangkat ini. |
Keterangan
Driver perangkat memanggil rutinitas ini untuk mengirim permintaan kontrol daya langsung ke PoFx. Permintaan kontrol daya mirip dengan permintaan kontrol I/O (IOCTL). Namun, tidak seperti IOCTL, permintaan kontrol daya dikirim langsung ke PoFx dan tidak diamati oleh driver perangkat lain di tumpukan perangkat. Selama panggilan PoFxPowerControl , PoFx secara sinkron melakukan operasi yang diminta.
Demikian pula, PoFx dapat mengirim permintaan kontrol daya langsung ke driver perangkat. Driver menangani permintaan ini dalam rutinitas PowerControlCallback-nya .
PoFx mendelegasikan penanganan semua permintaan kontrol daya ke plug-in mesin daya (PEP). PEP adalah komponen perangkat lunak opsional yang melakukan tugas manajemen daya yang khusus untuk lini prosesor produk atau modul System on a Chip (SoC) tertentu. Jika vendor perangkat keras untuk prosesor atau SoC memasok PEP untuk platform perangkat keras, PEP ini mungkin menangani permintaan kontrol daya kustom dari driver perangkat, atau mungkin mengirim permintaan kontrol daya kustom ke rutinitas PowerControlCallback driver. Vendor dapat menentukan sekumpulan GUID PowerControlCode dan menentukan operasi yang ditunjuk oleh GUID ini. Sebagai opsi, driver perangkat dapat berisi kode khusus platform untuk menangani atau mengirim permintaan untuk operasi ini.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 8. |
Target Platform | Universal |
Header | wdm.h |
Pustaka | Ntoskrnl.lib |
DLL | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |