Pemberitahuan manajemen daya perangkat (DPM)

Setiap pemberitahuan manajemen daya perangkat (DPM) yang diterima rutinitas panggilan balik AcceptDeviceNotification PEP disertai dengan parameter Pemberitahuan yang menunjukkan jenis pemberitahuan, dan parameter Data yang menunjuk ke struktur data yang berisi informasi untuk jenis pemberitahuan yang ditentukan.

Dalam panggilan ini, parameter Pemberitahuan diatur ke nilai konstanta PEP_DPM_XXX yang menunjukkan jenis pemberitahuan. Parameter Data menunjuk ke jenis struktur PEP_XXX yang terkait dengan jenis pemberitahuan ini.

ID Pemberitahuan Nilai Struktur terkait
PEP_DPM_PREPARE_DEVICE 0x01 PEP_PREPARE_DEVICE
PEP_DPM_ABANDON_DEVICE 0x02 PEP_ABANDON_DEVICE
PEP_DPM_REGISTER_DEVICE 0x03 PEP_REGISTER_DEVICE_V2
PEP_DPM_UNREGISTER_DEVICE 0x04 PEP_UNREGISTER_DEVICE
PEP_DPM_DEVICE_POWER_STATE 0x05 PEP_DEVICE_POWER_STATE
PEP_DPM_COMPONENT_ACTIVE 0x07 PEP_COMPONENT_ACTIVE
PEP_DPM_WORK 0x0D PEP_WORK
PEP_DPM_POWER_CONTROL_REQUEST 0x0E PEP_POWER_CONTROL_REQUEST
PEP_DPM_POWER_CONTROL_COMPLETE 0x0F PEP_POWER_CONTROL_COMPLETE
PEP_DPM_SYSTEM_LATENCY_UPDATE 0x10 PEP_SYSTEM_LATENCY
PEP_DPM_DEVICE_STARTED 0x12 PEP_DEVICE_STARTED
PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE 0x13 PEP_NOTIFY_COMPONENT_IDLE_STATE
PEP_DPM_REGISTER_DEBUGGER 0x15 PEP_REGISTER_DEBUGGER
PEP_DPM_LOW_POWER_EPOCH 0x18 PEP_LOW_POWER_EPOCH
PEP_DPM_REGISTER_CRASHDUMP_DEVICE 0x19 PEP_REGISTER_CRASHDUMP_DEVICE
PEP_DPM_DEVICE_IDLE_CONSTRAINTS 0x1A PEP_DEVICE_PLATFORM_CONSTRAINTS
PEP_DPM_COMPONENT_IDLE_CONSTRAINTS 0x1B PEP_COMPONENT_PLATFORM_CONSTRAINTS
PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES 0x1C PEP_QUERY_COMPONENT_PERF_CAPABILITIES
PEP_DPM_QUERY_COMPONENT_PERF_SET 0x1D PEP_QUERY_COMPONENT_PERF_SET
PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME 0x1E PEP_QUERY_COMPONENT_PERF_SET_NAME
PEP_DPM_QUERY_COMPONENT_PERF_STATES 0x1F PEP_QUERY_COMPONENT_PERF_STATES
PEP_DPM_REGISTER_COMPONENT_PERF_STATES 0x20 PEP_REGISTER_COMPONENT_PERF_STATES
PEP_DPM_REQUEST_COMPONENT_PERF_STATE 0x21 PEP_REQUEST_COMPONENT_PERF_STATE
PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE 0x22 PEP_QUERY_CURRENT_COMPONENT_PERF_STATE
PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS 0x23 PEP_DEBUGGER_TRANSITION_REQUIREMENTS
PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT 0x24 PEP_QUERY_SOC_SUBSYSTEM_COUNT
PEP_DPM_QUERY_SOC_SUBSYSTEM 0x25 PEP_QUERY_SOC_SUBSYSTEM
PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING 0x26 PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING
PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME 0x27 PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME
PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA 0x28 PEP_QUERY_SOC_SUBSYSTEM_METADATA

Id Pemberitahuan

ID pemberitahuan DPM berikut digunakan oleh rutinitas panggilan balik AcceptDeviceNotification.

PEP_DPM_PREPARE_DEVICE

Pemberitahuan (PEP_DPM_PREPARE_DEVICE)

Nilai PEP_DPM_PREPARE_DEVICE.

Data (PEP_DPM_PREPARE_DEVICE)

Penunjuk ke struktur PEP_PREPARE_DEVICE . Memberi tahu PEP yang memiliki perangkat yang ditentukan untuk mengonfigurasi perangkat agar beroperasi dalam status daya perangkat D0 (berfungsi).

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP sebelum tumpukan driver perangkat dimulai untuk pertama kalinya oleh sistem operasi. Pemberitahuan ini memungkinkan PEP untuk menyalakan daya eksternal atau sumber daya jam yang diperlukan untuk mengoperasikan perangkat.

Untuk mengirim pemberitahuan PEP_DPM_PREPARE_DEVICE, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_PREPARE_DEVICE, dan parameter Data menunjuk ke struktur PEP_PREPARE_DEVICE. Pada entri, anggota DeviceId dari struktur ini adalah string identifikasi perangkat yang secara unik mengidentifikasi perangkat. Sebelum kembali, PEP mengatur anggota DeviceAccepted dari struktur ini ke TRUE untuk mengklaim kepemilikan perangkat, atau ke FALSE untuk menunjukkan bahwa ia tidak memiliki perangkat.

PEP yang memiliki manajemen daya untuk perangkat bertanggung jawab untuk mengelola sumber daya daya dan jam yang berada di luar perangkat dan yang diperlukan untuk mengoperasikan perangkat. PEP ini memungkinkan sinyal jam dan daya ke perangkat sebagai respons terhadap pemberitahuan PEP_DPM_PREPARE_DEVICE, dan menghapus sinyal jam dan daya dari perangkat sebagai respons terhadap pemberitahuan PEP_DPM_ABANDON_DEVICE.

Tabel berikut menunjukkan prasyarat yang berlaku ketika sistem operasi ini mengirim pemberitahuan PEP_DPM_PREPARE_DEVICE ke PEP, dan pascakondisi yang harus berlaku setelah PEP menangani pemberitahuan ini untuk perangkat yang dimilikinya.

Prasyarat Pasca-kondisi
Perangkat dapat berada dalam status daya apa pun. Jika PEP mengklaim kepemilikan perangkat, perangkat dan semua komponennya harus dinyalakan, dan jam ke perangkat harus tidak terungkap.
PEP dapat menerima pemberitahuan PEP_DPM_PREPARE_DEVICE untuk beberapa perangkat karena manajer daya mencoba menemukan pemilik PEP untuk perangkat ini. PEP harus mengatur anggota DeviceAccepted dari struktur PEP_PREPARE_DEVICE ke FALSE untuk semua perangkat yang tidak dimiliki PEP.

Tidak ada pemberitahuan PEP_DPM_PREPARE_DEVICE yang dikirim untuk perangkat inti.

Untuk pemberitahuan PEP_DPM_PREPARE_DEVICE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_ABANDON_DEVICE

Pemberitahuan (PEP_DPM_ABANDON_DEVICE)

Nilai PEP_DPM_ABANDON_DEVICE.

Data (PEP_DPM_ABANDON_DEVICE)

Penunjuk ke struktur PEP_ABANDON_DEVICE . Memberi tahu PEP bahwa perangkat yang ditentukan tidak lagi digunakan oleh sistem operasi.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP setelah sistem operasi menghapus tumpukan driver perangkat. Pemberitahuan ini memungkinkan PEP untuk mematikan daya eksternal atau sumber daya jam yang digunakan untuk mengoperasikan perangkat, dan untuk menghapus perangkat ini dari proses pengambilan keputusan di masa mendatang. Jika perangkat harus dimulai lagi nanti, PEP akan terlebih dahulu menerima pemberitahuan PEP_DPM_PREPARE_DEVICE.

Untuk mengirim pemberitahuan PEP_DPM_ABANDON_DEVICE, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_ABANDON_DEVICE, dan parameter Data menunjuk ke struktur PEP_ABANDON_DEVICE. Pada entri, anggota DeviceId dari struktur ini adalah string identifikasi perangkat yang secara unik mengidentifikasi perangkat. Sebelum kembali, PEP mengatur anggota DeviceAccepted dari struktur ini ke TRUE untuk mengklaim kepemilikan perangkat, atau ke FALSE untuk menunjukkan bahwa ia tidak memiliki perangkat.

PEP yang memiliki manajemen daya untuk perangkat bertanggung jawab untuk mengelola sumber daya daya dan jam yang berada di luar perangkat dan yang diperlukan untuk mengoperasikan perangkat.

Tabel berikut menunjukkan prasyarat yang berlaku ketika sistem operasi ini mengirim pemberitahuan PEP_DPM_ABANDON_DEVICE ke PEP, dan pascakondisi yang harus berlaku setelah PEP menangani pemberitahuan ini untuk perangkat yang dimilikinya.

Prasyarat Pasca-kondisi
PEP telah menerima pemberitahuan PEP_DPM_PREPARE_DEVICE untuk perangkat dan menerima kepemilikan perangkat.
Jika PEP telah menerima pemberitahuan PEP_DPM_REGISTER_DEVICE untuk perangkat dan menerima pendaftaran perangkat, peP kemudian menerima pemberitahuan PEP_DPM_UNREGISTER_DEVICE untuk perangkat.
Sumber daya apa pun yang dialokasikan sebagai respons terhadap pemberitahuan PEP_DPM_PREPARE_DEVICE harus dikosongkan.
Untuk pemberitahuan PEP_DPM_PREPARE_DEVICE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_REGISTER_DEVICE

Pemberitahuan (PEP_DPM_REGISTER_DEVICE)

Nilai PEP_DPM_REGISTER_DEVICE.

Data (PEP_DPM_REGISTER_DEVICE)

Penunjuk ke struktur PEP_REGISTER_DEVICE_V2 .

Memberi tahu PEP bahwa tumpukan driver untuk perangkat yang ditentukan telah terdaftar dengan kerangka kerja manajemen daya Windows (PoFx).

PoFx mengirimkan pemberitahuan ini ketika tumpukan driver perangkat memanggil rutinitas PoFxRegisterDevice untuk mendaftarkan perangkat. Pemberitahuan ini memungkinkan PEP menyalin informasi pendaftaran perangkat ke penyimpanan internal PEP untuk referensi nanti.

Untuk mengirim pemberitahuan PEP_DPM_REGISTER_DEVICE, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_REGISTER_DEVICE, dan parameter Data menunjuk ke struktur PEP_REGISTER_DEVICE_V2 yang berisi handel kernel perangkat dan informasi pendaftaran lainnya. Pada entri, anggota DeviceId dari struktur ini adalah string identifikasi perangkat yang secara unik mengidentifikasi perangkat. Sebelum kembali, PEP mengatur anggota DeviceAccepted dari struktur ini ke TRUE untuk mengklaim kepemilikan perangkat, atau ke FALSE untuk menunjukkan bahwa ia tidak memiliki perangkat. Untuk informasi tentang anggota lain dari struktur ini, lihat PEP_REGISTER_DEVICE_V2.

Tabel berikut menunjukkan prasyarat yang berlaku ketika sistem operasi ini mengirim pemberitahuan PEP_DPM_REGISTER_DEVICE ke PEP, dan pascakondisi yang harus berlaku setelah PEP menangani pemberitahuan ini untuk perangkat yang dimilikinya.

Prasyarat Pasca-kondisi
PEP telah menerima pemberitahuan PEP_DPM_PREPARE_DEVICE untuk perangkat yang dimilikinya. PEP siap menerima pemberitahuan manajemen daya perangkat (DPM) lain yang terkait dengan perangkat ini.

Untuk pemberitahuan PEP_DPM_REGISTER_DEVICE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_UNREGISTER_DEVICE

Pemberitahuan (PEP_DPM_UNREGISTER_DEVICE)

Nilai PEP_DPM_UNREGISTER_DEVICE.

Data (PEP_DPM_UNREGISTER_DEVICE)

Penunjuk ke struktur PEP_UNREGISTER_DEVICE .

Memberi tahu PEP yang memiliki perangkat yang ditentukan bahwa tumpukan driver perangkat telah menarik pendaftarannya dari kerangka kerja manajemen daya Windows (PoFx).

PoFx mengirimkan pemberitahuan ini untuk memberi tahu PEP bahwa informasi pendaftaran apa pun yang disimpan PEP untuk perangkat selama pemberitahuan PEP_DPM_REGISTER_DEVICE sebelumnya tidak lagi valid. Sebagai respons, PEP dapat membersihkan status internal apa pun yang digunakan untuk manajemen daya perangkat ini.

Untuk mengirim pemberitahuan PEP_DPM_UNREGISTER_DEVICE, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_UNREGISTER_DEVICE, dan parameter Data menunjuk ke struktur PEP_UNREGISTER_DEVICE. Struktur ini berisi handel yang dibuat PEP sebagai respons terhadap pemberitahuan PEP_DPM_REGISTER_DEVICE sebelumnya untuk perangkat.

Tabel berikut menunjukkan prasyarat yang berlaku ketika sistem operasi ini mengirim pemberitahuan PEP_DPM_UNREGISTER_DEVICE ke PEP, dan pascakondisi yang harus berlaku setelah PEP menangani pemberitahuan ini untuk perangkat yang dimilikinya.

Prasyarat Pasca-kondisi
Jika PEP telah menerima pemberitahuan PEP_DPM_REGISTER_DEVICE untuk perangkat dan pendaftaran perangkat yang diterima.
PEP dapat menerima pemberitahuan manajemen daya perangkat (DPM) apa pun yang terkait dengan perangkat ini.
PEP dapat melaporkan "pekerjaan" yang terkait dengan perangkat ini.
PEP tidak dapat lagi menerima pemberitahuan manajemen daya perangkat (DPM) apa pun yang terkait dengan perangkat ini, kecuali untuk PEP_DPM_ABANDON_DEVICE.
PEP tidak dapat melaporkan "pekerjaan" yang terkait dengan perangkat ini.

Untuk pemberitahuan PEP_DPM_UNREGISTER_DEVICE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_DEVICE_POWER_STATE

Pemberitahuan (PEP_DPM_DEVICE_POWER_STATE)

Nilai PEP_DPM_DEVICE_POWER_STATE.

Data (PEP_DPM_DEVICE_POWER_STATE)

Penunjuk ke struktur PEP_DEVICE_POWER_STATE .

Dikirim ke PEP setiap kali tumpukan driver perangkat meminta perubahan ke status daya Dx baru, atau transisi yang diminta sebelumnya ke status daya Dx selesai.

Setelah PEP memanggil rutinitas RequestWorker untuk meminta item kerja, PoFx merespons dengan mengirim pemberitahuan PEP_DPM_DEVICE_POWER_STATE kepada PEP. Namun, pemberitahuan ini tidak dikirim sampai sumber daya (yaitu, utas pekerja) yang diperlukan untuk memproses item kerja tersedia. Dengan cara ini, PoFx menjamin bahwa permintaan kerja yang diteruskan PEP ke PoFx selama pemberitahuan tidak pernah dapat gagal karena kurangnya sumber daya.

Untuk mengirim pemberitahuan PEP_DPM_DEVICE_POWER_STATE, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_DEVICE_POWER_STATE, dan parameter Data menunjuk ke struktur PEP_DEVICE_POWER_STATE. Pada entri, PEP harus mengasumsikan bahwa isi struktur ini tidak diinisialisasi. Untuk menangani pemberitahuan ini, PEP harus mengatur anggota WorkInformation untuk menunjuk ke struktur PEP_WORK_INFORMATION yang dialokasikan PEP yang menjelaskan pekerjaan yang diminta. Selain itu, PEP harus mengatur anggota NeedWork dari struktur PEP_WORK ke TRUE untuk mengonfirmasi bahwa PEP telah menangani pemberitahuan PEP_DEVICE_POWER_STATE dan bahwa anggota WorkInformation menunjuk ke struktur PEP_WORK_INFORMATION yang valid. Jika PEP gagal menangani pemberitahuan atau tidak dapat mengalokasikan struktur PEP_WORK_INFORMATION, PEP harus mengatur anggota WorkInformation ke NULL dan mengatur anggota NeedWork ke FALSE.

Untuk pemberitahuan PEP_DPM_DEVICE_POWER_STATE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_COMPONENT_ACTIVE

Pemberitahuan (PEP_DPM_COMPONENT_ACTIVE)

Nilai PEP_DPM_COMPONENT_ACTIVE.

Data (PEP_DPM_COMPONENT_ACTIVE)

Penunjuk ke struktur PEP_COMPONENT_ACTIVE yang mengidentifikasi komponen dan yang menunjukkan apakah komponen ini melakukan transisi ke kondisi aktif atau ke kondisi menganggur.

Menginformasikan PEP bahwa komponen perlu melakukan transisi dari kondisi menganggur ke kondisi aktif, atau sebaliknya.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika transisi tertunda baik ke kondisi aktif atau ke kondisi menganggur.

Untuk mengirim pemberitahuan PEP_DPM_COMPONENT_ACTIVE, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_COMPONENT_ACTIVE, dan parameter Data menunjuk ke struktur PEP_COMPONENT_ACTIVE.

Komponen yang dapat diakses berada dalam kondisi aktif. Komponen yang tidak dapat diakses berada dalam kondisi menganggur. Komponen yang berada dalam kondisi aktif selalu dalam status daya komponen F0. Komponen tidak dapat meninggalkan F0 hingga memasuki kondisi menganggur. Komponen yang berada dalam kondisi menganggur mungkin berada di F0 atau dalam status Fx berdaya rendah. Kondisi aktif/menganggur komponen adalah satu-satunya cara yang dapat diandalkan bagi driver untuk menentukan apakah komponen dapat diakses. Komponen yang berada di F0 tetapi juga dalam kondisi menganggur mungkin akan beralih ke status Fx berdaya rendah.

Ketika komponen aktif siap untuk memasuki kondisi menganggur, transisi terjadi segera. Selama penanganan pemberitahuan PEP_DPM_COMPONENT_ACTIVE, PEP mungkin, misalnya, meminta transisi dari F0 ke status Fx berdaya rendah untuk komponen.

Jika komponen dalam status Fx berdaya rendah saat pemberitahuan PEP_DPM_COMPONENT_ACTIVE meminta transisi dari kondisi menganggur ke kondisi aktif, PEP harus terlebih dahulu mengalihkan komponen ke F0 sebelum komponen dapat memasuki kondisi aktif. PEP mungkin perlu menyelesaikan persiapan komponen untuk transisi ke kondisi aktif secara asinkron, setelah kembali dari panggilan balik AcceptDeviceNotification untuk pemberitahuan PEP_DPM_COMPONENT_ACTIVE. Setelah komponen dikonfigurasi sepenuhnya untuk beroperasi dalam kondisi aktif, PEP harus memanggil rutinitas RequestWorker lalu menangani pemberitahuan PEP_DPM_WORK yang dihasilkan dengan mengatur WorkType = PepWorkActiveComplete dalam struktur PEP_WORK_INFORMATION.

Jika PEP menerima pemberitahuan PEP_DPM_COMPONENT_ACTIVE untuk komponen yang ada di F0 dan sudah dikonfigurasi sepenuhnya untuk beroperasi dalam kondisi aktif, PEP mungkin dapat menyelesaikan penanganan pemberitahuan ini secara sinkron. Jika penanganan pemberitahuan "jalur cepat" didukung, anggota WorkInformation dari struktur PEP_COMPONENT_ACTIVE untuk pemberitahuan ini berisi penunjuk ke struktur PEP_WORK_INFORMATION, dan PEP dapat mengatur anggota WorkType struktur ini ke PepWorkActiveComplete untuk menyelesaikan transisi. Namun, jika WorkInformation = NULL, tidak ada "jalur cepat" yang tersedia dan PEP harus menyelesaikan transisi secara asinkron dengan memanggil RequestWorker, seperti yang dijelaskan dalam paragraf sebelumnya.

Untuk informasi selengkapnya tentang kondisi aktif dan menganggur, lihat Manajemen Daya Tingkat Komponen.

Untuk pemberitahuan PEP_DPM_COMPONENT_ACTIVE, rutinitas AcceptDeviceNotification dipanggil di IRQL <= DISPATCH_LEVEL.

PEP_DPM_WORK

Pemberitahuan (PEP_DPM_WORK)

Nilai PEP_DPM_WORK.

Data (PEP_DPM_WORK)

Penunjuk ke struktur PEP_WORK .

Dikirim ke PEP sekali setiap kali PEP memanggil rutinitas RequestWorker untuk meminta item pekerjaan dari kerangka kerja manajemen daya Windows (PoFx).

Setelah PEP memanggil rutinitas RequestWorker untuk meminta item kerja, PoFx merespons dengan mengirim PEP pemberitahuan PEP_DPM_WORK. Namun, pemberitahuan ini tidak dikirim sampai sumber daya (yaitu, utas pekerja) yang diperlukan untuk memproses item kerja tersedia. Dengan cara ini, PoFx menjamin bahwa permintaan kerja yang diteruskan PEP ke PoFx selama pemberitahuan tidak pernah dapat gagal karena kurangnya sumber daya.

Untuk mengirim pemberitahuan PEP_DPM_WORK, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_WORK, dan parameter Data menunjuk ke struktur PEP_WORK. Pada entri, PEP harus mengasumsikan bahwa isi struktur ini tidak diinisialisasi. Untuk menangani pemberitahuan ini, PEP harus mengatur anggota WorkInformation untuk menunjuk ke struktur PEP_WORK_INFORMATION yang dialokasikan PEP yang menjelaskan pekerjaan yang diminta. Selain itu, PEP harus mengatur anggota NeedWork dari struktur PEP_WORK ke TRUE untuk mengonfirmasi bahwa PEP telah menangani pemberitahuan PEP_DPM_WORK dan bahwa anggota WorkInformation menunjuk ke struktur PEP_WORK_INFORMATION yang valid. Jika PEP gagal menangani pemberitahuan atau tidak dapat mengalokasikan struktur PEP_WORK_INFORMATION, PEP harus mengatur anggota WorkInformation ke NULL dan mengatur anggota NeedWork ke FALSE.

Untuk pemberitahuan PEP_DPM_WORK, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_POWER_CONTROL_REQUEST

Pemberitahuan (PEP_DPM_POWER_CONTROL_REQUEST)

Nilai PEP_DPM_POWER_CONTROL_REQUEST.

Data (PEP_DPM_POWER_CONTROL_REQUEST)

Penunjuk ke struktur PEP_POWER_CONTROL_REQUEST .

Menginformasikan PEP bahwa driver telah memanggil POFxPowerControl API untuk mengirim kode kontrol langsung ke PEP.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP ketika driver memanggil POFxPowerControl API untuk mengirim kode kontrol langsung ke PEP. Penunjuk data pemberitahuan dalam hal ini menunjuk ke struktur PEP_POWER_CONTROL_REQUEST

Permintaan kontrol daya dan semantiknya ditentukan antara penulis PEP dan pemilik kelas perangkat. Biasanya antarmuka tersebut adalah untuk komunikasi khusus kelas perangkat yang tidak ditangkap dalam kerangka kerja manajemen daya umum. Misalnya, pengontrol UART dapat mengomunikasikan informasi laju baud ke PEP untuk memodifikasi beberapa rel/pembagi jam platform dan komunikasi tersebut kemungkinan akan memanfaatkan permintaan kontrol daya.

! [CATATAN] PEP hanya dapat meminta untuk mengirim kode kontrol ke perangkat setelah menerima pemberitahuan PEP_DPM_DEVICE_STARTED atau pemberitahuan PEP_DPM_POWER_CONTROL_REQUEST.

Untuk pemberitahuan PEP_DPM_POWER_CONTROL_REQUEST, rutinitas AcceptDeviceNotification dipanggil di IRQL <= DISPATCH_LEVEL.

PEP_DPM_POWER_CONTROL_COMPLETE

Pemberitahuan (PEP_DPM_POWER_CONTROL_COMPLETE)

Nilai PEP_DPM_POWER_CONTROL_COMPLETE.

Data (PEP_DPM_POWER_CONTROL_COMPLETE)

Penunjuk ke struktur PEP_POWER_CONTROL_COMPLETE .

Menginformasikan PEP bahwa driver telah menyelesaikan permintaan kontrol daya yang sebelumnya dikeluarkan oleh PEP

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP ketika driver menyelesaikan permintaan kontrol daya yang dikeluarkan sebelumnya oleh PEP.

! [CATATAN] PEP dapat mengabaikan pemberitahuan ini jika tidak mengeluarkan permintaan kontrol daya apa pun.

Untuk pemberitahuan PEP_DPM_POWER_CONTROL_COMPLETE, rutinitas AcceptDeviceNotification dipanggil di IRQL <= DISPATCH_LEVEL.

PEP_DPM_SYSTEM_LATENCY_UPDATE

Pemberitahuan (PEP_DPM_SYSTEM_LATENCY_UPDATE)

Nilai PEP_DPM_SYSTEM_LATENCY_UPDATE.

Data (PEP_DPM_SYSTEM_LATENCY_UPDATE)

Penunjuk ke struktur PEP_SYSTEM_LATENCY .

Menginformasikan PEP bahwa OS telah memperbarui toleransi latensi sistem secara keseluruhan.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika OS memperbarui toleransi latensi sistem secara keseluruhan.

Dalam versi PoFx sebelumnya, pemberitahuan ini digunakan oleh PEP untuk pemilihan status menganggur prosesor dan platform. Dengan antarmuka PEP terbaru, proses pemilihan sepenuhnya ditangani oleh OS dan dengan demikian pemberitahuan ini tidak lagi berguna. Ini termasuk di sini untuk kelengkapan dan PEP harus mengabaikannya.

Untuk mengirim pemberitahuan PEP_DPM_SYSTEM_LATENCY_UPDATE, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Untuk pemberitahuan ini, rutinitas AcceptDeviceNotification dipanggil di IRQL <= DISPATCH_LEVEL.

PEP_DPM_DEVICE_STARTED

Pemberitahuan (PEP_DPM_DEVICE_STARTED)

Nilai PEP_DPM_DEVICE_STARTED.

Data (PEP_DPM_DEVICE_STARTED)

Penunjuk ke struktur PEP_DEVICE_STARTED .

Menginformasikan PEP bahwa perangkat telah dimulai sehingga tersedia untuk menerima transaksi kontrol daya.

Tumpukan perangkat mendaftar dengan OS untuk manajemen daya runtime dalam proses dua langkah. Driver pertama kali memanggil PoFxRegisterDevice untuk memberikan informasi tentang jumlah komponen, status diam mereka, dan atribut yang sesuai. Menanggapi panggilan ini, PEP menerima pemberitahuan PEP_DPM_REGISTER_DEVICE.

Setelah pendaftaran berhasil, driver memiliki kesempatan untuk menginisialisasi komponennya (yaitu mengatur aktif, memperbarui persyaratan latensi, memperbarui residensi menganggur yang diharapkan, dll.). Setelah driver menyelesaikan tugas inisialisasi apa pun, driver akan memberi tahu manajer daya dengan memanggil PoFxStartDevicePowerManagement. Sebagai tanggapan, PEP akan menerima pemberitahuan PEP_DPM_DEVICE_STARTED. Pada titik ini, perangkat dianggap sepenuhnya diaktifkan untuk manajemen daya runtime.

Akibatnya, PEP tidak dapat mengeluarkan permintaan kontrol daya apa pun kepada driver kecuali telah terlebih dahulu menerima pemberitahuan PEP_DPM_DEVICE_STARTED atau pemberitahuan PEP_DPM_POWER_CONTROL_REQUEST.

Catatan

PEP dapat mengabaikan pemberitahuan ini jika tidak mengeluarkan permintaan kontrol daya apa pun.

Untuk pemberitahuan PEP_DPM_DEVICE_STARTED, rutinitas AcceptDeviceNotification dipanggil di IRQL <= DISPATCH_LEVEL.

PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE

Pemberitahuan (PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE)

Nilai PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE.

Data (PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE)

Penunjuk ke struktur PEP_NOTIFY_COMPONENT_IDLE_STATE .

Dikirim ke PEP ketika OS mengeluarkan transisi status menganggur untuk komponen tertentu.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika OS mengeluarkan transisi status menganggur untuk komponen tertentu.

Penting

PEP harus menangani pemberitahuan ini.

Untuk setiap transisi status menganggur, PEP diberi tahu sebelum dan sesudah driver diberi tahu. PEP membedakan antara pemberitahuan pra dan pasca dengan memeriksa anggota DriverNotified dari struktur PEP_NOTIFY_COMPONENT_IDLE_STATE. Untuk pasca-pemberitahuan, anggota DriverNotified akan TRUE.

Pra-pemberitahuan umumnya digunakan saat beralih ke F0. Dalam hal ini PEP mungkin perlu mengaktifkan kembali jam atau sumber daya daya sehingga ketika driver menangani pemberitahuan F0, perangkat keras tersedia. Dengan demikian, pasca-pemberitahuan umumnya digunakan saat transisi dari F0 ke status menganggur yang lebih dalam. Setelah driver menangani pemberitahuan status menganggur, PEP dapat mematikan jam dan sumber daya dengan aman.

Menangani transisi status diam untuk komponen tertentu mungkin memerlukan pemrosesan asinkron jika operasi membutuhkan waktu yang signifikan atau IRQL terlalu tinggi untuk menyelesaikan transisi secara sinkron. Akibatnya, PEP dapat menyelesaikan pemberitahuan ini secara sinkron atau asinkron dengan mengatur masing-masing anggota Selesai ke TRUE atau FALSE.

Jika pemberitahuan akan diselesaikan secara asinkron, PEP memberi tahu OS tentang penyelesaian dengan meminta pekerja (lihat RequestWorker) dan mengisi struktur informasi kerja yang disediakan dalam pemberitahuan PEP_DPM_WORK yang dihasilkan menggunakan jenis kerja PepWorkCompleteIdleState.

Untuk mengirim pemberitahuan PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Rutinitas ini disebut di IRQL <= DISPATCH_LEVEL.

PEP_DPM_REGISTER_DEBUGGER

Pemberitahuan (PEP_DPM_REGISTER_DEBUGGER)

Nilai PEP_DPM_REGISTER_DEBUGGER.

Data (PEP_DPM_REGISTER_DEBUGGER)

Penunjuk ke struktur PEP_REGISTER_DEBUGGER .

Menginformasikan PEP bahwa perangkat terdaftar dapat digunakan sebagai port debug.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini untuk memberi tahu PEP bahwa perangkat terdaftar dapat digunakan sebagai port debug.

Untuk pemberitahuan PEP_DPM_REGISTER_DEBUGGER, rutinitas AcceptDeviceNotification dipanggil di IRQL <= DISPATCH_LEVEL.

PEP_DPM_LOW_POWER_EPOCH

Pemberitahuan (PEP_DPM_LOW_POWER_EPOCH)

Nilai PEP_DPM_LOW_POWER_EPOCH.

Data (PEP_DPM_LOW_POWER_EPOCH)

Penunjuk ke struktur PEP_LOW_POWER_EPOCH .

Pemberitahuan ini tidak digunakan lagi.

PEP_DPM_REGISTER_CRASHDUMP_DEVICE

Pemberitahuan (PEP_DPM_REGISTER_CRASHDUMP_DEVICE)

Nilai PEP_DPM_REGISTER_CRASHDUMP_DEVICE.

Data (PEP_DPM_REGISTER_CRASHDUMP_DEVICE)

Penunjuk ke struktur PEP_REGISTER_CRASHDUMP_DEVICE .

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika perangkat mendaftar sebagai penanganan crashdump.

Kemampuan untuk menghasilkan cadangan memori (crashdump) ketika sistem mengalami kesalahan fatal sangat berharga untuk menentukan penyebab crash. Windows, secara default, akan menghasilkan crashdump ketika sistem mengalami bugcheck. Dalam konteks ini, sistem berada di bawah lingkungan operasi yang sangat dibatasi dengan gangguan dinonaktifkan dan IRQL sistem pada HIGH_LEVEL.

Karena perangkat yang terlibat dalam penulisan crashdump ke disk (yaitu pengontrol penyimpanan, pengontrol PCI, dll. ) dapat dimatikan pada saat crash, OS harus memanggil ke PEP untuk menyalakan perangkat. Dengan demikian, OS meminta panggilan balik (PowerOnDumpDeviceCallback) dari PEP untuk setiap perangkat pada tumpukan crashdump dan memanggil panggilan balik saat menghasilkan file cadangan.

Mengingat lingkungan yang dibatasi pada saat crash, panggilan balik yang disediakan oleh PEP tidak boleh mengakses kode halaman, memblokir peristiwa apa pun atau memanggil kode apa pun yang mungkin melakukan hal yang sama. Selain itu, proses menyalakan sumber daya yang diperlukan tidak dapat mengandalkan gangguan. Akibatnya, PEP mungkin harus kembali ke polling jika perlu menunggu berbagai sumber daya diaktifkan. Jika PEP tidak dapat menyalakan perangkat di bawah batasan ini, PEP tidak boleh menangani pemberitahuan atau tidak menyediakan rutinitas panggilan balik.

Untuk mengirim pemberitahuan PEP_DPM_REGISTER_CRASHDUMP_DEVICE, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Untuk pemberitahuan ini, rutinitas AcceptDeviceNotification dipanggil di IRQL <= HIGH_LEVEL.

PEP_DPM_DEVICE_IDLE_CONSTRAINTS

Pemberitahuan (PEP_DPM_DEVICE_IDLE_CONSTRAINTS)

Nilai PEP_DPM_DEVICE_IDLE_CONSTRAINTS.

Data (PEP_DPM_DEVICE_IDLE_CONSTRAINTS)

Penunjuk ke struktur PEP_DEVICE_PLATFORM_CONSTRAINTS . Dikirim ke PEP untuk mengkueri dependensi antara status D perangkat dan status diam platform.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk mengkueri dependensi antara status D perangkat dan status diam platform. PEP menggunakan pemberitahuan ini untuk mengembalikan status D termuda yang masih dapat digunakan perangkat dan memasukkan setiap status diam platform. OS akan menjamin perangkat berada dalam status D minimum sebelum memasuki status menganggur platform terkait. Jika status diam platform tidak bergantung pada perangkat ini dalam status D apa pun, PEP harus menentukan status D minimum PowerDeviceD0. Jika tidak ada status diam platform bergantung pada perangkat ini dalam status D tertentu, pemberitahuan ini dapat diabaikan.

Pemberitahuan ini dikirim ke setiap perangkat setelah PEP menerima pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Untuk mengirim pemberitahuan PEP_DPM_DEVICE_IDLE_CONSTRAINTS, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_DEVICE_IDLE_CONSTRAINTS, dan parameter Data menunjuk ke struktur PEP_DEVICE_PLATFORM_CONSTRAINTS.

Untuk pemberitahuan PEP_DPM_DEVICE_IDLE_CONSTRAINTS, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.

PEP_DPM_COMPONENT_IDLE_CONSTRAINTS

Pemberitahuan (PEP_DPM_COMPONENT_IDLE_CONSTRAINTS)

Nilai PEP_DPM_COMPONENT_IDLE_CONSTRAINTS.

Data (PEP_DPM_COMPONENT_IDLE_CONSTRAINTS)

Penunjuk ke struktur PEP_COMPONENT_PLATFORM_CONSTRAINTS .

Dikirim ke PEP untuk mengkueri dependensi antara status F komponen dan status diam platform.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk mengkueri dependensi antara status F komponen dan status diam platform. PEP menggunakan pemberitahuan ini untuk mengembalikan status F teringan yang masih dapat digunakan komponen dan memasukkan setiap status diam platform. OS akan menjamin komponen berada dalam status F minimum sebelum memasuki status menganggur platform terkait. Jika status diam platform tidak bergantung pada komponen ini dalam status F apa pun, PEP harus menentukan status F minimum 0. Jika tidak ada status diam platform tergantung pada komponen ini berada dalam status F tertentu, pemberitahuan ini dapat diabaikan.

Batasan diam perangkat yang lebih dalam dari D0 lebih membatasi daripada status diam komponen untuk komponen pada perangkat. Untuk indeks status diam platform tertentu, jika perangkat menentukan batasan diam perangkat, batasan diam komponen yang sesuai untuk semua komponen yang terkait dengan perangkat diabaikan.

Pemberitahuan ini dikirim ke setiap komponen di setiap perangkat setelah PEP menerima pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Untuk mengirim pemberitahuan PEP_DPM_COMPONENT_IDLE_CONSTRAINTS, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES

Pemberitahuan (PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES)

Nilai PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES.

Data (PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES)

Penunjuk ke struktur PEP_QUERY_COMPONENT_PERF_CAPABILITIES .

Menginformasikan PEP bahwa peP sedang dikueri untuk jumlah set status performa (P-state) yang ditentukan untuk komponen.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, dan parameter Data menunjuk ke struktur PEP_QUERY_COMPONENT_PERF_CAPABILITIES.

Untuk pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_SET

Pemberitahuan (PEP_DPM_QUERY_COMPONENT_PERF_SET)

Nilai PEP_DPM_QUERY_COMPONENT_PERF_SET.

Data (PEP_DPM_QUERY_COMPONENT_PERF_SET)

Penunjuk ke struktur PEP_QUERY_COMPONENT_PERF_SET .

Menginformasikan PEP bahwa PEP sedang dikueri untuk informasi tentang sekumpulan nilai status performa (set status P) untuk komponen.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_SET, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_SET, dan parameter Data menunjuk ke struktur PEP_QUERY_COMPONENT_PERF_SET.

Untuk pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_SET, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME

Pemberitahuan (OPEP_DPM_QUERY_COMPONENT_PERF_SET_NAME)

Nilai PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME.

Data (OPEP_DPM_QUERY_COMPONENT_PERF_SET_NAME)

Penunjuk ke struktur PEP_QUERY_COMPONENT_PERF_SET_NAME .

Menginformasikan PEP bahwa PEP sedang dikueri untuk informasi tentang sekumpulan nilai status performa (set status P) untuk komponen.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME, dan parameter Data menunjuk ke struktur PEP_QUERY_COMPONENT_PERF_SET_NAME.

Untuk pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_STATES

Pemberitahuan (PEP_DPM_QUERY_COMPONENT_PERF_STATES)

Nilai PEP_DPM_QUERY_COMPONENT_PERF_STATES.

Data (PEP_DPM_QUERY_COMPONENT_PERF_STATES)

Penunjuk ke struktur PEP_QUERY_COMPONENT_PERF_STATES .

Menginformasikan PEP bahwa PEP sedang dikueri untuk daftar nilai status performa diskrit (P-state) untuk set status P tertentu.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_STATES, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_STATES, dan parameter Data menunjuk ke struktur PEP_QUERY_COMPONENT_PERF_STATES.

Untuk pemberitahuan PEP_DPM_QUERY_COMPONENT_PERF_STATES, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_REGISTER_COMPONENT_PERF_STATES

Pemberitahuan (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)

Nilai PEP_DPM_REGISTER_COMPONENT_PERF_STATES.

Data (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)

Penunjuk ke struktur PEP_REGISTER_COMPONENT_PERF_STATES .

Menginformasikan PEP tentang status performa (status P) dari komponen yang ditentukan.

Untuk mengirim pemberitahuan PEP_DPM_REGISTER_COMPONENT_PERF_STATES, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_REGISTER_COMPONENT_PERF_STATES, dan parameter Data menunjuk ke struktur PEP_REGISTER_COMPONENT_PERF_STATES.

Untuk pemberitahuan PEP_DPM_REGISTER_COMPONENT_PERF_STATES, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_REQUEST_COMPONENT_PERF_STATE

Pemberitahuan (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)

Nilai PEP_DPM_REQUEST_COMPONENT_PERF_STATE.

Data (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)

Penunjuk ke struktur PEP_REQUEST_COMPONENT_PERF_STATE.

Menginformasikan PEP bahwa satu atau beberapa perubahan status performa (P-state) diminta oleh kerangka kerja manajemen daya Windows (PoFx).

Untuk mengirim pemberitahuan PEP_DPM_REQUEST_COMPONENT_PERF_STATE, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_REQUEST_COMPONENT_PERF_STATE, dan parameter Data menunjuk ke struktur PEP_REQUEST_COMPONENT_PERF_STATE.

Untuk pemberitahuan PEP_DPM_REQUEST_COMPONENT_PERF_STATE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE

Pemberitahuan (PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE)

Nilai PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE.

Data (PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE)

Penunjuk ke struktur PEP_QUERY_CURRENT_COMPONENT_PERF_STATE.

Menginformasikan PEP bahwa peP sedang dikueri untuk informasi tentang status P saat ini dalam set status P yang ditentukan.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, dan parameter Data menunjuk ke struktur PEP_QUERY_CURRENT_COMPONENT_PERF_STATE.

Untuk pemberitahuan PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS

Pemberitahuan (PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS)

Nilai PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS.

Data (PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS)

Penunjuk ke struktur PEP_DEBUGGER_TRANSITION_REQUIREMENTS .

Dikirim ke PEP untuk mengkueri kumpulan status terkoordinasi atau platform yang mengharuskan debugger dimatikan.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk meminta kumpulan status terkoordinasi atau platform yang mengharuskan debugger dimatikan. Jika pemberitahuan ini diterima, OS akan melakukan semua transisi daya debugger untuk PEP, dan PEP mungkin tidak menggunakan TransitionCriticalResource untuk mendukung pengelolaan debugger.

Pemberitahuan ini dikirim ke setiap perangkat debugger setelah PEP menerima pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE atau PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Untuk pemberitahuan ini, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.

PEP_DPM_QUERY_SOC_SUBSYSTEM

Pemberitahuan (PEP_DPM_QUERY_SOC_SUBSYSTEM)

Nilai PEP_DPM_QUERY_SOC_SUBSYSTEM.

Data (PEP_DPM_QUERY_SOC_SUBSYSTEM)

Penunjuk ke struktur PEP_QUERY_SOC_SUBSYSTEM .

Dikirim ke PEP untuk mengumpulkan informasi dasar tentang sistem tertentu pada subsistem chip (SoC).

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP setelah status diam platform telah diinisialisasi untuk mengumpulkan informasi dasar tentang subsistem SoC tertentu. PEP yang tidak menerapkan akuntansi subsistem SoC, atau tidak menerapkannya untuk status diam platform yang ditentukan, mengembalikan FALSE. Ini mengarahkan OS untuk berhenti mengirim pemberitahuan diagnostik ke PEP untuk status menganggur platform ini.

SubsystemCount sistem dan MetadataCount subsistem dapat berubah dengan pembaruan PEP/BSP. SubsystemIndex dapat berubah setiap kali OS boot.

Penting

PEP tidak dapat mengabaikan pemberitahuan ini. PEP menerima pemberitahuan ini karena merespons pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT untuk PlatformIdleStateIndex ini dengan SubsystemCount non-nol.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP di DISPATCH_LEVEL IRQL < .

PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME

Pemberitahuan (PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME)

Nilai PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME.

Data (PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME)

Penunjuk ke struktur PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME .

Dikirim ke PEP ketika OS ingin mengumpulkan waktu tertentu sistem tertentu pada subsistem chip (SoC) telah memblokir entri ke status menganggur platform tertentu tanpa sepengetahuan OS.

Biasanya OS memanggil pemberitahuan ini di akhir sesi siaga terhubung yang diperluas di mana OS mencoba memasukkan status menganggur platform yang ditentukan. The PEP_QUERY_SOC_SUBSYSTEM_COUNT. Nilai SubsystemCount, yang diisi sebelumnya oleh PEP selama inisialisasi subkomponen, menentukan berapa banyak pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME yang dikirim ke PEP sekaligus. PEP dapat menerima beberapa pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME untuk subsistem tertentu. Pemberitahuan ini mungkin atau mungkin tidak diselingi dengan pemberitahuan PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING.

Penting

PEP tidak dapat mengabaikan pemberitahuan ini. PEP menerima pemberitahuan ini karena merespons pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT untuk PlatformIdleStateIndex ini dengan SubsystemCount non-nol.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP di DISPATCH_LEVEL IRQL < .

PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT

Pemberitahuan (PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT)

Nilai PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT.

Data (PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT)

Penunjuk ke struktur PEP_QUERY_SOC_SUBSYSTEM_COUNT .

Dikirim ke PEP setelah status diam platform telah diinisialisasi untuk memberi tahu OS apakah PEP mendukung sistem pada subsistem chip (SoC) yang memperhitungkan status diam platform tertentu.

Ini adalah pemberitahuan diagnostik subsistem SoC pertama yang dikirim ke PEP. PEP yang tidak menerapkan akuntansi subsistem SoC, atau tidak menerapkannya untuk status diam platform yang ditentukan, mengembalikan FALSE, dalam hal ini OS tidak akan mengirim pemberitahuan diagnostik subsistem SOC lagi untuk status menganggur platform ini.

Catatan

PEP dapat mengabaikan pemberitahuan ini jika tidak menerapkan pemberitahuan diagnostik SoC untuk status diam platform yang ditentukan.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP di DISPATCH_LEVEL IRQL < .

PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA

Pemberitahuan (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)

Nilai PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA.

Data (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)

Penunjuk ke struktur PEP_QUERY_SOC_SUBSYSTEM_METADATA.

Dikirim ke PEP untuk mengumpulkan metadata opsional tentang subsistem yang waktu pemblokirannya baru saja dikueri.

Pemberitahuan ini biasanya dikirim ke PEP segera setelah pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME. Satu pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA mengumpulkan semua pasangan metadata nilai kunci yang menjelaskan subsistem.

Penting

PEP tidak dapat mengabaikan pemberitahuan ini. PEP menerima pemberitahuan ini karena merespons pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT untuk PlatformIdleStateIndex ini dengan SubsystemCount non-nol.

Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP. Untuk pemberitahuan ini, rutinitas AcceptDeviceNotification dipanggil di DISPATCH_LEVEL IRQL < .

PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING

Pemberitahuan (PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING)

Nilai PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING.

Data (PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING)

Penunjuk ke penunjuk A ke struktur PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING . Struktur.

Dikirim ke PEP untuk menghapus semua waktu pemblokiran subsistem dan akuntansi metadata, melakukan inisialisasi tambahan yang diperlukan, dan memulai ulang akuntansi.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP kapan saja setelah semua subsistem diinisialisasi dengan OS. Biasanya, pemberitahuan ini dipanggil ketika OS memulai periode analisis baru tentang apa yang menjaga sistem pada chip (SoC) dari status diam platform yang ditentukan (menargetkan DRIPS saat memasuki siaga yang terhubung). OS hanya mengirimkan pemberitahuan ini untuk status diam platform tempat PEP menginisialisasi satu atau beberapa subsistem SoC.

Untuk mengirim pemberitahuan PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP di IRQL < DISPATCH_LEVEL.