Peristiwa Perangkat (IoEvent.h)
Aplikasi, termasuk layanan, dapat mendaftar untuk menerima pemberitahuan peristiwa perangkat. Misalnya, layanan katalog dapat menerima pemberitahuan volume yang dipasang atau dilepas sehingga dapat menyesuaikan jalur ke file pada volume. Sistem memberi tahu aplikasi bahwa peristiwa perangkat telah terjadi dengan mengirim aplikasi pesan WM_DEVICECHANGE . Sistem memberi tahu layanan bahwa peristiwa perangkat telah terjadi dengan memanggil fungsi penanganan aktivitas layanan, HandlerEx.
Untuk menerima pemberitahuan peristiwa perangkat, panggil fungsi RegisterDeviceNotification dengan struktur DEV_BROADCAST_HANDLE . Pastikan untuk mengatur anggota dbch_handle ke handel perangkat yang diperoleh dari fungsi CreateFile . Selain itu, atur anggota dbch_devicetype ke DBT_DEVTYP_HANDLE. Fungsi mengembalikan handel pemberitahuan perangkat. Perhatikan bahwa ini tidak sama dengan handel volume.
Saat aplikasi Anda menerima pemberitahuan, jika jenis peristiwa DBT_CUSTOMEVENT, Anda mungkin telah menerima salah satu peristiwa perangkat yang ditentukan dalam IoEvent.h. Untuk menentukan apakah salah satu peristiwa ini telah terjadi, gunakan langkah-langkah berikut.
- Perlakukan data peristiwa sebagai struktur DEV_BROADCAST_HDR . Verifikasi bahwa anggota dbch_devicetype diatur ke DBT_DEVTYP_HANDLE.
- Jika dbch_devicetypeDBT_DEVTYP_HANDLE, data peristiwa benar-benar penunjuk ke struktur DEV_BROADCAST_HANDLE .
- Bandingkan anggota dbch_eventguid dengan GUIDyang tercantum dalam tabel berikut menggunakan fungsi IsEqualGUID .
-
GUID_IO_CDROM_EXCLUSIVE_LOCK
-
-
bc56c139-7a10-47ee-a294-4c6a38f0149a
-
Perangkat CD-ROM telah dikunci untuk akses eksklusif.
Windows Server 2003 dan Windows XP: Dukungan untuk nilai ini memerlukan IMAPI 2.0. Untuk informasi selengkapnya, lihat IMAGE Mastering API.
-
-
GUID_IO_CDROM_EXCLUSIVE_UNLOCK
-
-
a3b6d27d-5e35-4885-81e5-ee18c00ed779
-
Perangkat CD-ROM yang dikunci untuk akses eksklusif telah dibuka kuncinya.
Windows Server 2003 dan Windows XP: Dukungan untuk nilai ini memerlukan IMAPI 2.0. Untuk informasi selengkapnya, lihat IMAGE Mastering API.
-
-
GUID_IO_DEVICE_BECOMING_READY
-
-
d07433f0-a98e-11d2-917a-00a0c9068ff3
-
Spin-up media sedang berlangsung.
-
-
GUID_IO_DEVICE_EXTERNAL_REQUEST
-
-
d07433d0-a98e-11d2-917a-00a0c9068ff3
-
Ada beberapa kemungkinan penyebab untuk peristiwa ini; untuk informasi selengkapnya, lihat spesifikasi T10 MMC dari Perintah DAPATKAN PEMBERITAHUAN STATUS PERISTIWA.
-
-
GUID_IO_MEDIA_ARRIVAL
-
-
d07433c0-a98e-11d2-917a-00a0c9068ff3
-
Media yang dapat dilepas telah ditambahkan ke perangkat. Anggota dbch_data adalah penunjuk ke struktur CLASS_MEDIA_CHANGE_CONTEXT . Anggota NewState menyediakan informasi status. Misalnya, nilai MediaUnavailable menunjukkan bahwa media tidak tersedia (misalnya, karena sesi perekaman aktif).
Windows XP: Anggota dbch_data adalah nilai ULONG yang mewakili berapa kali media diubah sejak startup sistem.
-
-
GUID_IO_MEDIA_EJECT_REQUEST
-
-
d07433d1-a98e-11d2-917a-00a0c9068ff3
-
Drive media yang dapat dilepas telah menerima permintaan dari pengguna untuk mengeluarkan slot atau media yang ditentukan.
-
-
GUID_IO_MEDIA_REMOVAL
-
-
d07433c1-a98e-11d2-917a-00a0c9068ff3
-
Media yang bisa dilepas telah dihapus dari perangkat atau tidak tersedia. Anggota dbch_data adalah penunjuk ke struktur CLASS_MEDIA_CHANGE_CONTEXT . Anggota NewState menyediakan informasi status. Misalnya, nilai MediaUnavailable menunjukkan bahwa media tidak tersedia (misalnya, karena sesi perekaman aktif).
Windows XP: Anggota dbch_data adalah nilai ULONG yang mewakili berapa kali media diubah sejak startup sistem.
-
-
GUID_IO_VOLUME_CHANGE
-
-
7373654a-812a-11d0-bec7-08002be2092f
-
Label volume telah berubah.
-
-
GUID_IO_VOLUME_CHANGE_SIZE
-
-
3a1625be-ad03-49f1-8ef8-6bbac182d1fd
-
Ukuran sistem file pada volume telah berubah.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
-
-
GUID_IO_VOLUME_DISMOUNT
-
-
d16a55e8-1059-11d2-8ffd-00a0c9a06d32
-
Upaya untuk melepas volume sedang berlangsung. Anda harus menutup semua handel ke file dan direktori pada volume. Kejadian ini belum tentu akan didahului oleh peristiwa GUID_IO_VOLUME_LOCK .
-
-
GUID_IO_VOLUME_DISMOUNT_FAILED
-
-
e3c5b178-105d-11d2-8ffd-00a0c9a06d32
-
Upaya untuk melepas volume gagal. Ini sering terjadi karena proses lain gagal merespons pemberitahuan GUID_IO_VOLUME_DISMOUNT dengan menutup handel yang luar biasa. Karena pembuangan gagal, Anda dapat membuka kembali handel apa pun ke volume yang terpengaruh.
-
-
GUID_IO_VOLUME_FVE_STATUS_CHANGE
-
-
062998b2-ee1f-4b6a-b857-e76cbbe9a6da
-
Status Enkripsi Kandar BitLocker volume telah berubah. Kejadian ini disinyalir ketika BitLocker diaktifkan atau dinonaktifkan, atau ketika enkripsi dimulai, berakhir, dijeda, atau dilanjutkan.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
-
-
GUID_IO_VOLUME_LOCK
-
-
50708874-c9af-11d1-8fef-00a0c9a06d32
-
Proses lain sedang mencoba mengunci volume. Anda harus menutup semua handel ke file dan direktori pada volume.
-
-
GUID_IO_VOLUME_LOCK_FAILED
-
-
ae2eed10-0ba8-11d2-8ffb-00a0c9a06d32
-
Upaya untuk mengunci volume gagal. Ini sering terjadi karena proses lain gagal merespons peristiwa GUID_IO_VOLUME_LOCK dengan menutup handel yang luar biasa. Karena kunci gagal, Anda dapat membuka kembali handel apa pun ke volume yang terpengaruh.
-
-
GUID_IO_VOLUME_MOUNT
-
-
b5804878-1a96-11d2-8ffd-00a0c9a06d32
-
Volume telah dipasang oleh proses lain. Anda dapat membuka satu atau beberapa handel untuk itu.
-
-
GUID_IO_VOLUME_NAME_CHANGE
-
-
2de97f83-4c06-11d2-a532-00609713055a
-
Nama volume telah diubah.
-
-
GUID_IO_VOLUME_NEED_CHKDSK
-
-
799a0960-0a0b-4e03-ad88-2fa7c6ce748a
-
Sistem file telah mendeteksi kerusakan pada volume. Aplikasi harus menjalankan CHKDSK pada volume atau memberi tahu pengguna untuk melakukannya.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
-
-
GUID_IO_VOLUME_PHYSICAL_CONFIGURATION_CHANGE
-
-
2de97f84-4c06-11d2-a532-00609713055a
-
Makeup fisik atau status fisik volume saat ini telah berubah.
-
-
GUID_IO_VOLUME_PREPARING_EJECT
-
-
c79eb16e-0dac-4e7a-a86c-b25ceeaa88f6
-
Sistem file sedang mempersiapkan cakram yang akan dikeluarkan. Misalnya, sistem file menghentikan operasi pemformatan latar belakang atau menutup sesi pada media tulis-sekali.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
-
-
GUID_IO_VOLUME_UNIQUE_ID_CHANGE
-
-
af39da42-6622-41f5-970b-139d092fa3d9
-
Pengidentifikasi unik volume telah diubah. Untuk informasi selengkapnya tentang pengidentifikasi unik, lihat IOCTL_MOUNTDEV_QUERY_UNIQUE_ID.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung sampai Windows Server 2008 R2 dan Windows 7.
-
-
GUID_IO_VOLUME_UNLOCK
-
-
9a8c3d68-d0cb-11d1-8fef-00a0c9a06d32
-
Volume telah dibuka kuncinya oleh proses lain. Anda dapat membuka satu atau beberapa handel untuk itu.
-
-
GUID_IO_VOLUME_WEARING_OUT
-
-
873113ca-1486-4508-82ac-c3b2e5297aaa
-
Media sedang aus. Kejadian ini dikirim ketika sistem file menentukan bahwa tingkat kesalahan pada volume terlalu tinggi, atau ruang penggantian cacatnya hampir habis.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
-
Keterangan
Peristiwa GUID_IO_VOLUME_DISMOUNT dan GUID_IO_VOLUME_DISMOUNT_FAILED terkait, seperti halnya peristiwa GUID_IO_VOLUME_LOCK dan GUID_IO_VOLUME_LOCK_FAILED . Peristiwa GUID_IO_VOLUME_DISMOUNT dan GUID_IO_VOLUME_LOCK menunjukkan bahwa operasi sedang dicoba. Anda harus bertindak pada pemberitahuan peristiwa, dan merekam tindakan yang diambil. Peristiwa GUID_IO_VOLUME_DISMOUNT_FAILED dan GUID_IO_VOLUME_LOCK_FAILED menunjukkan bahwa operasi yang dicoba gagal. Anda kemudian dapat menggunakan catatan Anda untuk membatalkan tindakan yang Anda buat sebagai respons terhadap operasi.
Anggota dbch_hdevnotify struktur DEV_BROADCAST_HANDLE menunjukkan perangkat yang terpengaruh. Perhatikan bahwa ini adalah handel pemberitahuan perangkat yang dikembalikan oleh RegisterDeviceNotification, bukan handel volume. Untuk melakukan operasi pada volume, petakan handel ini ke handel volume yang sesuai.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows XP |
Server minimum yang didukung |
Windows Server 2003 |
Header |
|