Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setiap pemberitahuan manajemen daya perangkat (DPM) yang diterima oleh rutinitas panggilan balik AcceptDeviceNotification dari PEP disertai dengan parameter Pemberitahuan yang menunjukkan tipe pemberitahuan, serta parameter Data yang merujuk ke struktur data yang berisi informasi untuk tipe 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
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 sistem operasi memulai tumpukan driver perangkat untuk pertama kalinya. Pemberitahuan ini memungkinkan PEP untuk menyalakan daya eksternal atau sumber daya jam apa pun yang diperlukan untuk mengoperasikan perangkat.
Untuk mengirim pemberitahuan PEP_DPM_PREPARE_DEVICE, sistem operasi memanggil fungsi callback PEP AcceptDeviceNotification. 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 dan jam yang berada di luar perangkat dan yang diperlukan untuk mengoperasikan perangkat. PEP ini memungkinkan pengiriman sinyal jam dan daya ke perangkat sebagai respons terhadap pemberitahuan PEP_DPM_PREPARE_DEVICE, dan menghentikan sinyal jam dan aliran daya ke 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 | Pascakondisi |
|---|---|
| Perangkat dapat berada dalam status daya apa pun. | Jika PEP mengklaim kepemilikan perangkat, perangkat dan semua komponennya harus dihidupkan, dan clock perangkat harus dinyalakan. PEP dapat menerima notifikasi PEP_DPM_PREPARE_DEVICE untuk beberapa perangkat karena manajer daya mencoba menemukan pemilik PEP untuk perangkat-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 pada 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 callback AcceptDeviceNotification dari 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 | Pascakondisi |
|---|---|
| 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 dibebaskan. 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 notifikasi PEP_DPM_REGISTER_DEVICE, sistem operasi memanggil rutinitas callback AcceptDeviceNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_DPM_REGISTER_DEVICE, dan parameter Data menunjuk ke struktur PEP_REGISTER_DEVICE_V2 yang berisi handle 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 | Pascakondisi |
|---|---|
| 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 notifikasi 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 .
Memberitahukan kepada PEP yang memiliki perangkat yang telah ditentukan bahwa stack driver perangkat tersebut 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 callback AcceptDeviceNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_UNREGISTER_DEVICE, dan parameter Data menunjuk ke struktur PEP_UNREGISTER_DEVICE. Struktur ini berisi handle yang dibuat PEP dalam menanggapi 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 | Pascakondisi |
|---|---|
| Jika PEP telah menerima pemberitahuan PEP_DPM_REGISTER_DEVICE untuk perangkat dan telah menerima pendaftaran perangkat tersebut. 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) 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 pada 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 stack driver perangkat meminta perubahan ke status daya Dx yang baru, atau saat transisi yang diminta sebelumnya ke status daya Dx selesai.
Setelah PEP memanggil rutinitas RequestWorker untuk meminta item kerja, PoFx merespons dengan mengirim PEP pemberitahuan PEP_DPM_DEVICE_POWER_STATE. 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 saat pemberitahuan tidak mungkin gagal karena kurangnya sumber daya.
Untuk mengirim notifikasi PEP_DPM_DEVICE_POWER_STATE, sistem operasi memanggil rutin balik panggilan AcceptDeviceNotification dari 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 konten struktur ini tidak diinisialisasi. Untuk menangani pemberitahuan ini, PEP harus mengatur anggota WorkInformation untuk menunjuk ke struktur PEP_WORK_INFORMATION yang dialokasikan oleh 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 diam.
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 notifikasi PEP_DPM_COMPONENT_ACTIVE, PoFx memanggil rutin panggilan balik AcceptDeviceNotification milik 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 diam. Komponen yang berada dalam kondisi siaga mungkin berada di F0 atau dalam status daya rendah Fx. 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 diam mungkin akan beralih ke status Fx berdaya rendah.
Ketika komponen aktif siap untuk memasuki kondisi diam, 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 berada dalam status Fx berdaya rendah saat pemberitahuan PEP_DPM_COMPONENT_ACTIVE meminta transisi dari kondisi diam 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 sepenuhnya dikonfigurasi 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 berada di F0 dan sudah sepenuhnya dikonfigurasi 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 dari 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 diam, lihat Component-Level Power Management.
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 sebuah item pekerjaan, PoFx merespon dengan mengirimkan sebuah pemberitahuan PEP_DPM_WORK 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 saat pemberitahuan tidak mungkin gagal karena kurangnya sumber daya.
Untuk mengirim pemberitahuan PEP_DPM_WORK, sistem operasi memanggil rutinitas panggilan balik AcceptDeviceNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_DPM_WORK, dan parameter Data menunjuk ke struktur PEP_WORK. Pada entri, PEP harus mengasumsikan bahwa konten struktur ini tidak diinisialisasi. Untuk menangani pemberitahuan ini, PEP harus mengatur anggota WorkInformation untuk menunjuk ke struktur PEP_WORK_INFORMATION yang dialokasikan oleh PEP yang menjelaskan pekerjaan yang diminta. Selain itu, PEP harus mengatur nilai anggota NeedWork dalam struktur PEP_WORK menjadi TRUE untuk mengonfirmasi bahwa PEP telah menangani pemberitahuan PEP_DPM_WORK serta memastikan 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 notifikasi PEP_DPM_WORK, rutinitas AcceptDeviceNotification selalu dipanggil pada 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 API PoFxPowerControl 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 didefinisikan antara penulis PEP dan pemilik kelas perangkat. Biasanya antarmuka tersebut adalah untuk komunikasi khusus kelas perangkat yang tidak diambil 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_PENGENDALIAN_DAYA_SELESAI
Pemberitahuan (PEP_DPM_POWER_CONTROL_COMPLETE)
Nilai konstanta PEP_DPM_POWER_CONTROL_COMPLETE.
Data (PEP_DPM_POWER_CONTROL_COMPLETE)
Penunjuk ke struktur PEP_POWER_CONTROL_COMPLETE .
Memberi tahu 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 notifikasi PEP_DPM_POWER_CONTROL_COMPLETE, rutinitas AcceptDeviceNotification dijalankan 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 diam prosesor dan platform. Dengan antarmuka PEP terbaru, proses pemilihan sepenuhnya ditangani oleh OS dan dengan demikian pemberitahuan ini tidak lagi berguna. Untuk kelengkapan, ini termasuk di sini, 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_PERANGKAT_DIMULAI
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 aktif sehingga siap menerima transaksi kontrol daya.
Tumpukan perangkat didaftarkan ke OS untuk manajemen daya runtime dalam dua langkah proses. Driver pertama-tama 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 persyaratan latensi aktif dan pembaruan, memperbarui residensi diam yang diharapkan, dll.). Setelah driver menyelesaikan tugas inisialisasi apa pun, driver akan memberi tahu manajer daya dengan memanggil PoFxStartDevicePowerManagement. Sebagai respons, PEP akan menerima pemberitahuan PEP_DPM_DEVICE_STARTED. Pada titik ini, perangkat dianggap diaktifkan sepenuhnya 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.
Nota
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_PEMBERITAHUAN_STATUS_IDLE_KOMPONEN
Pemberitahuan (PEP_DPM_NOTIFY_COMPONENT_KEADAAN_MENGANGGUR)
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 diam 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 setelah pemberitahuan, anggota DriverNotified akan bernilai TRUE.
Pra-pemberitahuan umumnya digunakan saat transisi ke F0. Dalam hal ini PEP mungkin perlu mengaktifkan kembali jam atau sumber daya daya sehingga ketika driver menangani pemberitahuan F0, perangkat keras tersedia. Oleh karena itu, pemberitahuan pasca umumnya digunakan saat beralih dari F0 menuju keadaan siaga yang lebih dalam. Setelah driver menangani pemberitahuan status diam, PEP dapat mematikan jam dan sumber daya daya dengan aman.
Menangani transisi status menganggur 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 memberikan nilai TRUE atau FALSE pada anggota Completed.
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 fungsi callback AcceptDeviceNotification milik PEP. Rutinitas ini dipanggil 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 pengelola 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 pemeriksaan bug. Dalam konteks ini, sistem beroperasi dalam lingkungan yang sangat terbatas dengan interupsi dinonaktifkan dan Tingkat Permintaan Layanan Sistem (IRQL) pada level tinggi.
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 membuat 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 interupsi. Akibatnya, PEP mungkin harus menggunakan polling kembali 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 mengajukan kueri tentang dependensi antara status D pada perangkat dan status diam pada platform.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk meminta dependensi antara status D perangkat dan status diam platform. PEP menggunakan pemberitahuan ini untuk menentukan status D teringan yang masih bisa digunakan oleh perangkat dan memasukkan perangkat ke dalam 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 berada dalam status D apa pun, PEP harus menentukan status D minimum PowerDeviceD0. Jika tidak ada status diam platform tergantung pada perangkat ini berada dalam status D tertentu, pemberitahuan ini dapat diabaikan.
Pemberitahuan ini dikirim ke setiap perangkat setelah pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES diterima oleh PEP.
Untuk mengirimkan notifikasi PEP_DPM_DEVICE_IDLE_CONSTRAINTS, PoFx memanggil rutinitas callback AcceptDeviceNotification milik PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_DPM_DEVICE_IDLE_CONSTRAINTS, dan parameter Data mengarah ke struktur PEP_DEVICE_PLATFORM_CONSTRAINTS.
Untuk pemberitahuan PEP_DPM_DEVICE_IDLE_CONSTRAINTS, rutinitas AcceptDeviceNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.
Batasan ketika komponen dalam keadaan diam di PEP_DPM
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 meminta dependensi antara status F komponen dan status diam platform. PEP menggunakan pemberitahuan ini untuk mengembalikan status F teringan yang masih dapat dicapai oleh komponen dan memasuki 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 berada dalam status F apa pun, PEP harus menentukan status F minimum 0. Jika tidak ada status siaga platform tergantung pada komponen ini berada dalam F-state 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 siaga platform tertentu, jika perangkat menentukan kendala diam perangkat, kendala diam komponen yang sesuai untuk semua komponen yang terkait dengan perangkat diabaikan.
Notifikasi ini dikirimkan ke setiap komponen di setiap perangkat setelah PEP menerima notifikasi PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.
Untuk mengirim pemberitahuan PEP_DPM_COMPONENT_IDLE_CONSTRAINTS, PoFx memanggil rutinitas callback AcceptDeviceNotification dari 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 kepada PEP bahwa PEP sedang ditanyakan mengenai jumlah set status performa (P-state) yang telah ditentukan untuk sebuah komponen.
Untuk mengirimkan notifikasi PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, PoFx memanggil rutin callback AcceptDeviceNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, sementara parameter Data menunjuk ke struktur PEP_QUERY_COMPONENT_PERF_CAPABILITIES.
Untuk notifikasi PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, rutinitas AcceptDeviceNotification selalu dipanggil pada 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 notifikasi PEP_DPM_QUERY_COMPONENT_PERF_SET, PoFx memanggil rutinitas pemanggilan kembali AcceptDeviceNotification dari 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 notifikasi PEP_DPM_QUERY_COMPONENT_PERF_SET, rutinitas AcceptDeviceNotification selalu dipanggil pada 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 sedang dilakukan kueri untuk mendapatkan informasi tentang sekumpulan nilai status performa (set status P) untuk sebuah 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 notifikasi PEP_DPM_QUERY_COMPONENT_PERF_STATES, PoFx memanggil rutinitas callback AcceptDeviceNotification dari 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 notifikasi PEP_DPM_QUERY_COMPONENT_PERF_STATES, rutinitas AcceptDeviceNotification selalu dipanggil pada IRQL = PASSIVE_LEVEL.
PEP_DPM_REGISTER_COMPONENT_PERF_STATES
Pemberitahuan (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)
Nilai dari 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 PEP AcceptDeviceNotification. 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 pada IRQL = PASSIVE_LEVEL.
PEP_DPM_REQUEST_COMPONENT_PERF_STATE
Pemberitahuan (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)
Nilai dari 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 callback rutin AcceptDeviceNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_DPM_REQUEST_COMPONENT_PERF_STATE, dan parameter Data merujuk pada struktur PEP_REQUEST_COMPONENT_PERF_STATE.
Untuk pemberitahuan PEP_DPM_REQUEST_COMPONENT_PERF_STATE, rutinitas AcceptDeviceNotification selalu dipanggil pada 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 untuk PEP. Dalam panggilan ini, nilai parameter Notification adalah PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, dan parameter Data merujuk ke struktur PEP_QUERY_CURRENT_COMPONENT_PERF_STATE.
Untuk pemberitahuan PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, rutinitas AcceptDeviceNotification selalu dipanggil dengan 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 mengajukan kueri mengenai kumpulan status terkoordinasi atau status 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 keadaan tidak aktif platform yang ditentukan, akan mengembalikan FALSE. Ini mengarahkan OS untuk berhenti mengirim pemberitahuan diagnostik ke PEP untuk status menganggur platform ini.
Jumlah SubsistemCount sebuah sistem dan jumlah MetadataCount sebuah subsistem dapat berubah dengan pembaruan PEP/BSP. SubsistemIndex 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 JumlahSub-sistem yang tidak nol.
Untuk mengirim notifikasi PEP_DPM_QUERY_SOC_SUBSYSTEM, PoFx memanggil rutin panggilan balik AcceptDeviceNotification milik PEP pada IRQL < DISPATCH_LEVEL.
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 jumlah waktu subsistem tertentu pada sistem chip (SoC) yang telah memblokir entri ke status idle platform tertentu tanpa diketahui oleh OS.
Biasanya OS memanggil pemberitahuan ini di akhir sesi standby terhubung diperpanjang di mana OS mencoba memasuki status idle platform yang ditentukan. Nilai PEP_QUERY_SOC_SUBSYSTEM_COUNT.SubsystemCount, yang diisi sebelumnya oleh PEP selama inisialisasi subkomponen, menentukan berapa banyak pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME yang dikirim ke PEP secara bersamaan. PEP dapat menerima beberapa notifikasi PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME untuk subsistem yang ditentukan. 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 JumlahSubsistem non-nol.
Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME, PoFx memanggil rutinitas panggilan balik AcceptDeviceNotification PEP di IRQL < DISPATCH_LEVEL.
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 menganggur platform tertentu.
Ini adalah pemberitahuan diagnostik subsistem SoC pertama yang dikirim ke PEP. PEP yang tidak menerapkan akuntansi subsistem SoC, atau tidak menerapkannya untuk keadaan menganggur platform yang ditentukan, akan mengembalikan FALSE. Dalam hal ini, OS tidak akan mengirimkan lagi pemberitahuan diagnostik subsistem SoC kepada PEP untuk keadaan menganggur platform ini.
Nota
PEP dapat mengabaikan pemberitahuan ini jika tidak menerapkan pemberitahuan diagnostik SoC untuk status menganggur platform yang ditentukan.
Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT, PoFx memanggil rutinitas callback AcceptDeviceNotification dari PEP pada IRQL < DISPATCH_LEVEL.
PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA
Pemberitahuan (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)
Nilai dari 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 dipertanyakan.
Pemberitahuan ini biasanya dikirim ke PEP segera memberikutinya 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 telah merespons pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT untuk PlatformIdleStateIndex ini dengan JumlahSubsistem yang tidak nol.
Untuk mengirim pemberitahuan PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA, PoFx memanggil rutinitas panggilan balik PEP AcceptDeviceNotification. Untuk pemberitahuan ini, rutinitas AcceptDeviceNotification dipanggil di IRQL < DISPATCH_LEVEL.
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 struktur PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING. struktur.
Dikirim ke PEP untuk membersihkan semua waktu blokir subsistem dan pembukuan metadata, melakukan inisialisasi tambahan yang diperlukan, dan memulai ulang pembukuan.
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) keluar dari status menganggur platform yang ditentukan (menargetkan DRIPS saat memasuki siaga yang terhubung). OS hanya mengirim 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.