Bagikan melalui


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
STATUS_NOT_IMPLEMENTED
Operasi kontrol daya yang diminta tidak diimplementasikan.
STATUS_NOT_SUPPORTED
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

Lihat juga

PoFxRegisterDevice

PowerControlCallback