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 ACPI yang diterima oleh rutin panggilan balik AcceptAcpiNotification PEP disertai dengan parameter Pemberitahuan yang menunjukkan tipe pemberitahuan, dan parameter Data yang menunjuk pada struktur data yang berisi informasi untuk tipe pemberitahuan yang ditentukan.
Dalam panggilan ini, parameter Pemberitahuan diatur ke nilai konstanta PEP_NOTIFY_ACPI_XXX yang menunjukkan jenis pemberitahuan. Parameter Data menunjuk ke jenis struktur PEP_ACPI_XXX yang terkait dengan jenis pemberitahuan ini.
ID pemberitahuan ACPI berikut digunakan oleh rutinitas panggilan balik AcceptAcpiNotification.
| ID Pemberitahuan | Nilai | Struktur terkait |
|---|---|---|
| PEP_NOTIFY_ACPI_PREPARE_DEVICE | 0x01 | PEP_ACPI_PREPARE_DEVICE |
| PEP_NOTIFY_ACPI_ABANDON_DEVICE | 0x02 | PEP_ACPI_ABANDON_DEVICE |
| PEP_NOTIFY_ACPI_REGISTER_DEVICE | 0x03 | PEP_ACPI_REGISTER_DEVICE |
| PEP_NOTIFY_ACPI_UNREGISTER_DEVICE | 0x04 | PEP_ACPI_UNREGISTER_DEVICE |
| PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE | 0x05 | PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE |
| PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION | 0x06 | PEP_ACPI_QUERY_OBJECT_INFORMATION |
| PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD | 0x07 | PEP_ACPI_EVALUASI_METODE_KONTROL |
| PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES | 0x08 | PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES |
| PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES | 0x09 | PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES |
PEP_NOTIFY_ACPI_PREPARE_DEVICE
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_PREPARE_DEVICE. Data: Penunjuk ke struktur PEP_ACPI_PREPARE_DEVICE yang mengidentifikasi perangkat berdasarkan nama.
Memungkinkan PEP memilih apakah akan menyediakan layanan ACPI untuk perangkat.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika driver Windows ACPI menemukan perangkat baru di namespace ACPI selama enumerasi perangkat. Pemberitahuan ini dikirim ke PEP yang menerapkan rutinitas panggilan balik AcceptAcpiNotification.
Untuk mengirim pemberitahuan PEP_NOTIFY_ACPI_PREPARE_DEVICE, PoFx memanggil rutinitas PEP AcceptAcpiNotification. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_ACPI_PREPARE_DEVICE, dan parameter Data menunjuk ke struktur PEP_ACPI_PREPARE_DEVICE yang berisi nama perangkat. Jika PEP disiapkan untuk menyediakan layanan ACPI untuk perangkat ini, PEP mengatur anggota DeviceAccepted dari struktur ini ke TRUE. Untuk menolak menyediakan layanan tersebut, PEP menetapkan anggota ini ke FALSE.
Jika PEP menunjukkan (dengan mengatur DeviceAccepted = TRUE) bahwa ia siap untuk menyediakan layanan ACPI untuk perangkat, PoFx akan merespons dengan mengirim PEMBERITAHUAN PEP_NOTIFY_ACPI_REGISTER_DEVICE PEP untuk mendaftarkan PEP menjadi penyedia satu-satunya layanan ACPI untuk perangkat. PoFx meminta agar hanya satu PEP yang mengklaim peran sebagai penyedia layanan ACPI untuk perangkat.
Sebagai praktik terbaik, jangan melakukan inisialisasi perangkat apa pun sebagai respons terhadap pemberitahuan PEP_NOTIFY_ACPI_PREPARE_DEVICE. Sebagai gantinya, tunda inisialisasi ini hingga pemberitahuan PEP_NOTIFY_ACPI_REGISTER_DEVICE untuk perangkat diterima, atau metode kontrol ACPI (misalnya, _INI) dipanggil untuk perangkat.
Untuk notifikasi PEP_NOTIFY_ACPI_PREPARE_DEVICE, rutin AcceptAcpiNotification selalu dipanggil pada tingkat IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_ABANDON_DEVICE (pemberitahuan jika perangkat ACPI ditinggalkan)
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_ABANDON_DEVICE.
Data: Penunjuk ke struktur PEP_ACPI_ABANDON_DEVICE yang mengidentifikasi perangkat yang ditinggalkan.
Menginformasikan PEP bahwa perangkat yang telah disebutkan telah ditinggalkan dan tidak lagi memerlukan layanan ACPI dari PEP.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini untuk memberi tahu PEP bahwa perangkat tidak lagi digunakan oleh sistem operasi. PEP dapat menggunakan pemberitahuan ini untuk membersihkan penyimpanan internal apa pun yang telah dialokasikan untuk melacak status perangkat.
Untuk mengirim notifikasi PEP_NOTIFY_ACPI_ABANDON_DEVICE, PoFx akan memanggil rutin callback PEP yang bernama AcceptAcpiNotification. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_NOTIFY_ACPI_ABANDON_DEVICE, dan parameter Data menunjuk ke struktur PEP_ACPI_ABANDON_DEVICE.
PoFx mengirimkan pemberitahuan ini hanya ke PEP yang telah memilih untuk menyediakan layanan ACPI untuk perangkat di pemberitahuan PEP_NOTIFY_ACPI_PREPARE_DEVICE sebelumnya. Jika PEP telah mendaftar untuk menyediakan layanan ini dalam pemberitahuan PEP_NOTIFY_ACPI_REGISTER_DEVICE sebelumnya, PoFx akan mengirim pemberitahuan PEP_NOTIFY_ACPI_UNREGISTER_DEVICE untuk perangkat tersebut sebelum mengirim pemberitahuan PEP_NOTIFY_ACPI_ABANDON_DEVICE.
Untuk pemberitahuan PEP_NOTIFY_ACPI_ABANDON_DEVICE, rutinitas AcceptAcpiNotification selalu dipanggil pada IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_REGISTER_DEVICE
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_REGISTER_DEVICE.
Data: Penunjuk ke struktur PEP_ACPI_REGISTER_DEVICE yang mengidentifikasi perangkat. Sebagai respons terhadap pemberitahuan ini, PEP diharapkan membuat nilai PEPHANDLE yang valid untuk mengidentifikasi perangkat dan menuliskan nilai handle ini ke dalam struktur.
Mendaftarkan PEP untuk menjadi penyedia satu-satunya layanan ACPI untuk perangkat yang ditentukan.
Kerangka manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP yang telah menyatakan—dalam pemberitahuan PEP_NOTIFY_ACPI_PREPARE_DEVICE sebelumnya—bahwa ia siap untuk menyediakan layanan ACPI untuk perangkat yang ditentukan.
Untuk mengirim notifikasi PEP_NOTIFY_ACPI_REGISTER_DEVICE, PoFx memanggil rutin AcceptAcpiNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_ACPI_REGISTER_DEVICE, dan parameter Data menunjuk ke struktur PEP_ACPI_REGISTER_DEVICE yang mengidentifikasi perangkat tempat PEP menyediakan layanan ACPI.
Untuk pemberitahuan PEP_NOTIFY_ACPI_REGISTER_DEVICE, rutinitas AcceptAcpiNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_UNREGISTER_DEVICE
Pemberitahuan: Nilai untuk PEP_NOTIFY_ACPI_UNREGISTER_DEVICE.
Data: Penunjuk ke struktur PEP_ACPI_UNREGISTER_DEVICE yang mengandung PEPHANDLE untuk perangkat tersebut.
Membatalkan pendaftaran perangkat yang telah ditentukan untuk layanan ACPI dari PEP.
Sebagai respons terhadap pemberitahuan ini, PEP dapat menghancurkan PEPHANDLE yang dibuat PEP untuk perangkat ini di pemberitahuan PEP_NOTIFY_ACPI_REGISTER_DEVICE sebelumnya.
Untuk mengirimkan notifikasi PEP_NOTIFY_ACPI_UNREGISTER_DEVICE, PoFx memanggil rutin panggilan balik AcceptAcpiNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_ACPI_UNREGISTER_DEVICE, dan parameter Data menunjuk ke struktur PEP_ACPI_UNREGISTER_DEVICE.
Untuk pemberitahuan PEP_NOTIFY_ACPI_UNREGISTER_DEVICE, rutinitas AcceptAcpiNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE.
Data: Penunjuk ke struktur PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE yang berisi enumerasi objek di namespace ACPI perangkat.
Mengkueri PEP untuk daftar objek ACPI (metode asli) yang didukung oleh PEP di bawah perangkat yang ditentukan di namespace ACPI.
Driver Windows ACPI menggunakan objek yang didaftarkan oleh pemberitahuan ini untuk membangun namespace bagi perangkat yang ditentukan. Setelah itu, ketika merujuk ke perangkat ini, driver ACPI akan meminta PEP hanya untuk objek ini.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE segera setelah perangkat ditemukan dan PEP mendaftar untuk menyediakan layanan ACPI untuk perangkat. Untuk informasi selengkapnya tentang pendaftaran ini, lihat PEP_NOTIFY_ACPI_REGISTER_DEVICE.
Untuk mengirim pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE, PoFx memanggil rutin panggilan balik AcceptAcpiNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE, dan parameter Data menunjuk ke struktur data PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE.
Rutinitas AcceptAcpiNotification diharapkan dapat menangani pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE dan mengembalikan TRUE. Gagal melakukannya akan menyebabkan pemeriksaan bug.
Untuk pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE, rutinitas AcceptAcpiNotification selalu dipanggil pada IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION
Pemberitahuan: Parameter PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION.
Data: Penunjuk ke struktur PEP_ACPI_QUERY_OBJECT_INFORMATION yang menentukan atribut objek ACPI.
Meminta informasi dari PEP tentang objek ACPI yang dienumerasi sebelumnya.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini untuk mengkueri PEP untuk atribut objek yang dijumlahkan selama penanganan pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE sebelumnya. Saat ini, satu-satunya objek yang dijumlahkan adalah metode kontrol.
Untuk mengirimkan pemberitahuan PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION, PoFx memanggil rutin panggilan balik AcceptAcpiNotification pada PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION, dan parameter Data menunjuk ke struktur PEP_ACPI_QUERY_OBJECT_INFORMATION.
Untuk pemberitahuan PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION, rutinitas AcceptAcpiNotification selalu dipanggil pada tingkat IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD.
Data: Penunjuk ke struktur PEP_ACPI_EVALUATE_CONTROL_METHOD yang menentukan metode kontrol ACPI untuk dievaluasi, argumen input untuk diberikan ke metode ini, dan buffer output untuk hasilnya.
Digunakan untuk mengevaluasi metode kontrol ACPI di mana PEP adalah handler terdaftar.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP ketika driver Windows ACPI perlu mengevaluasi metode kontrol ACPI yang diterapkan oleh PEP.
Untuk mengirim pemberitahuan PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD, PoFx memanggil rutinitas panggilan balik PEP AcceptAcpiNotification. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD, dan parameter Data menunjuk ke struktur PEP_ACPI_EVALUATE_CONTROL_METHOD.
Perancang platform dapat memilih apakah akan memiliki PEP atau firmware ACPI menangani metode kontrol ACPI tertentu. Jika PEP adalah handler terdaftar untuk metode kontrol ACPI, PoFx merespons permintaan dari driver Windows ACPI untuk mengevaluasi metode ini dengan mengirim pemberitahuan PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD ke PEP.
Berikut ini adalah daftar contoh metode kontrol ACPI yang dapat ditangani PEP untuk perangkat:
Identifikasi dan konfigurasi perangkat: _HID, _CID, _UID, _ADR, _CLS, _SUB, _CRS, _PRS, dan sebagainya. Manajemen daya perangkat dan bangun: _PS0 sampai _PS3, _PR0 sampai _PR3, _DSW, dan sejenisnya. Metode khusus perangkat: _DSM dan metode kontrol khusus tumpukan perangkat apa pun. Untuk perangkat khusus, seperti perangkat Waktu dan Alarm ACPI, pemberitahuan ini digunakan untuk mengevaluasi metode waktu dan alarm (_GCP, _GRT, _SRT, dan sebagainya).
Untuk pemberitahuan PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD, rutinitas AcceptAcpiNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES
Pemberitahuan: Nilai dari PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES.
Data: Penunjuk ke struktur PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES yang berisi daftar sumber daya daya.
Meminta informasi dari PEP untuk daftar sumber daya mentah yang diperlukan untuk mengendalikan daya ke perangkat.
Menanggapi pemberitahuan ini, PEP menyediakan daftar sumber daya mentah yang diperlukan untuk mengontrol daya ke perangkat. Driver Windows ACPI memerlukan daftar ini agar dapat mencadangkan sumber daya listrik yang diperlukan oleh perangkat, dan memberikan daftar sumber daya yang telah diterjemahkan yang terkait ke PEP (dengan mengirim pemberitahuan PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES). Untuk informasi selengkapnya, lihat Sumber Daya Mentah dan Diterjemahkan.
Untuk mengirim pemberitahuan PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES, kerangka kerja manajemen daya Windows (PoFx) memanggil rutinitas panggilan balik AcceptAcpiNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES, dan parameter Data menunjuk ke struktur PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES.
Untuk pemberitahuan PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES, fungsi AcceptAcpiNotification selalu dipanggil pada IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES.
Data: Penunjuk ke struktur PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES yang berisi daftar sumber daya yang diterjemahkan.
Menyediakan kepada PEP daftar sumber daya yang diterjemahkan untuk sumber daya pengendali daya apa pun yang diperlukan untuk perangkat.
Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini jika PEP mencantumkan sumber daya mentah sebagai respons terhadap pemberitahuan PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES sebelumnya. Pemberitahuan PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES memberikan kepada PEP daftar sumber daya terjemahan yang sesuai. Untuk informasi selengkapnya, lihat Sumber Daya Mentah dan Diterjemahkan.
Untuk mengirim notifikasi PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES, PoFx memanggil rutin panggilan balik AcceptAcpiNotification dari PEP. Dalam panggilan ini, nilai parameter Pemberitahuan adalah PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES, dan parameter Data menunjuk ke struktur PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES.
Untuk pemberitahuan PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES, rutinitas AcceptAcpiNotification selalu dipanggil pada IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_WORK
Pemberitahuan: Nilai PEP_NOTIFY_ACPI_WORK.
Data: 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). Pemberitahuan ini digunakan untuk pekerjaan khusus ACPI.
Setelah PEP memanggil rutinitas RequestWorker untuk meminta item kerja, PoFx merespons dengan mengirim PEP pemberitahuan PEP_NOTIFY_ACPI_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 saat pemberitahuan tidak mungkin gagal karena kurangnya sumber daya.
Pada saat masuk, PEP harus mengasumsikan bahwa struktur PEP_WORK 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 menyetel nilai anggota NeedWork dari struktur PEP_WORK menjadi TRUE untuk memastikan bahwa PEP telah menangani pemberitahuan PEP_NOTIFY_ACPI_WORK dan bahwa anggota WorkInformation menunjuk pada 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_NOTIFY_ACPI_WORK, rutinitas AcceptAcpiNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.