Fungsi panggilan balik PFNKSDEVICEQUERYPOWER (ks.h)
AVStream memanggil rutinitas AVStrMiniDeviceQueryPower minidriver saat menerima permintaan IRP_MN_QUERY_POWER .
Sintaks
PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;
NTSTATUS Pfnksdevicequerypower(
[in] PKSDEVICE Device,
[in] PIRP Irp,
[in] DEVICE_POWER_STATE DeviceTo,
[in] DEVICE_POWER_STATE DeviceFrom,
[in] SYSTEM_POWER_STATE SystemTo,
[in] SYSTEM_POWER_STATE SystemFrom,
[in] POWER_ACTION Action
)
{...}
Parameter
[in] Device
Arahkan ke struktur KSDEVICE yang mengirimkan IRP_MN_QUERY_POWER.
[in] Irp
Arahkan ke IRP_MN_QUERY_POWER yang dikeluarkan oleh Perangkat.
[in] DeviceTo
Status daya yang diminta oleh penerbit Irp.
[in] DeviceFrom
Status daya perangkat saat ini.
[in] SystemTo
Status sistem ke transisi ke, ditentukan ketika transisi status daya sistem sedang dikueri. Nilai ini tidak ditentukan jika panggilan disebabkan oleh kueri perubahan status daya perangkat.
[in] SystemFrom
Status sistem saat ini, ditentukan ketika transisi status daya sistem sedang dikueri. Nilai ini tidak ditentukan jika panggilan disebabkan oleh kueri perubahan status daya perangkat.
[in] Action
Menentukan informasi tambahan tentang transisi yang diminta. Nilai yang mungkin adalah enumerator dari jenis POWER_ACTION.
Mengembalikan nilai
Harus mengembalikan STATUS_SUCCESS atau kode kesalahan yang dikembalikan dari upaya untuk melakukan operasi. Dengan mengembalikan STATUS_SUCCESS, driver menjamin bahwa driver tidak akan memulai operasi apa pun yang akan mengubah kemampuannya untuk mengatur status daya yang diminta. Driver harus mengantrekan IRP apa pun yang akan memerlukan operasi seperti itu sampai menyelesaikan IRP_MN_SET_POWER yang mengembalikan perangkat ke status daya yang dapat diterima.
Keterangan
Manajer daya atau pemilik kebijakan daya perangkat mengirimkan permintaan IRP_MN_QUERY_POWER untuk menentukan apakah dapat mengubah sistem atau status daya perangkat (misalnya, untuk tidur).
Jika driver gagal IRP_MN_QUERY_POWER meminta status daya sistem, manajer daya biasanya merespons dengan mengeluarkan IRP_MN_SET_POWER. Biasanya, IRP ini akan menegaskan kembali status sistem saat ini. Namun, ada kemungkinan bahwa driver mungkin menerima IRP_MN_SET_POWER ke status dikueri atau ke beberapa status perantara lainnya. Pengemudi harus siap untuk menangani situasi ini.
Minidriver menentukan alamat rutin ini di anggota QueryPower dari struktur KSDEVICE_DISPATCH-nya .
Rutinitas ini bersifat opsional.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru serta DirectX 8.0 dan versi DirectX yang lebih baru. |
Target Platform | Desktop |
Header | ks.h (termasuk Ks.h) |