Runtime integrasi Kecil Plug and Play

Bagian ini menjelaskan RUN PnP yang dikirim ke driver. All PnP IRPs have the major function code IRP_MJ_PNP and a minor function code indicating the particular PnP request.

Bagian ini menyediakan informasi referensi untuk runtime integrasi individual. Lihat Plug and Play untuk deskripsi urutan pengiriman RUN, diskusi tentang cara menangani RUN dalam rutinitas DispatchPnP, dan diskusi umum tentang konsep dan terminologi PnP.

Untuk setiap IRP dan setiap jenis driver, driver diperlukan untuk menangani IRP, dapat secara opsional menangani IRP, atau tidak boleh menangani IRP. Lihat tabel di bawah ini untuk mengidentifikasi IRP mana yang akan ditangani driver Anda lalu lihat halaman referensi untuk informasi tentang runtime integrasi individual. IRP tercantum dalam urutan fungsional dalam tabel dan dalam urutan alfabet di halaman referensi IRP.

Jika IRP ditandai "Tidak" dalam tabel untuk driver tertentu, driver tersebut tidak boleh menangani IRP. Driver harus meneruskan IRP ke driver berikutnya di tumpukan perangkat seperti yang dijelaskan di halaman referensi untuk IRP.

Manajer PnP mengirimkan IRP ini. Driver PnP dapat mengirim beberapa IRP ini, tetapi hanya yang dicatat di bagian ini.

Berikut ini adalah kode fungsi minor untuk RUN PnP, dan jenis driver yang menanganinya:

Kode fungsi minor PnP IRP Value Fungsi atau driver filter untuk perangkat nonbus Driver fungsi untuk perangkat bus (untuk bus FDO) Driver bus atau driver filter bus (untuk PDO turunan)
IRP_MN_START_DEVICE 0x00 Required Required Required
IRP_MN_QUERY_REMOVE_DEVICE 0x01 Required Required Required
IRP_MN_REMOVE_DEVICE 0x02 Required Required Required
IRP_MN_CANCEL_REMOVE_DEVICE 0x03 Required Required Required
IRP_MN_STOP_DEVICE 0x04 Required Required Required
IRP_MN_QUERY_STOP_DEVICE 0x05 Required Required Required
IRP_MN_CANCEL_STOP_DEVICE 0x06 Required Required Required
IRP_MN_QUERY_DEVICE_RELATIONS 0x07
- BusRelations x Optional (1) Required No (2)
- EjectionRelations x No No Optional
- RemovalRelations x Optional Optional No
- TargetDeviceRelation x No No Required
IRP_MN_QUERY_INTERFACE 0x08 Optional Optional Required (1)
IRP_MN_QUERY_CAPABILITIES 0x09 Optional Opsional atau Wajib
IRP_MN_QUERY_RESOURCES 0x0A No No Required (1)
IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B No No Required (1)
IRP_MN_QUERY_DEVICE_TEXT 0x0C No No Required (1)
IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D Optional (1) Optional (1) No
IRP_MN_READ_CONFIG 0x0F No No Required (1)
IRP_MN_WRITE_CONFIG 0x10 No No Required (1)
IRP_MN_EJECT 0x11 No No Required
IRP_MN_SET_LOCK 0x12 No No Required (1)
IRP_MN_QUERY_ID 0x13
- BusQueryDeviceID x No No Required
- BusQueryHardwareIDs x No No Optional
- BusQueryCompatibleIDs x No Tidak atau Opsional
- BusQueryInstanceID x No No Optional
- BusQueryContainerID x No No Required (3)
IRP_MN_QUERY_PNP_DEVICE_STATE 0x14 Optional Optional Optional
IRP_MN_QUERY_BUS_INFORMATION 0x15 No No Required (1)
IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16 Required (1) Required (1) Required (1)
IRP_MN_SURPRISE_REMOVAL 0x17 Required Required Required
IRP_MN_DEVICE_ENUMERATED 0x19 No No Required (1)

(1) Diperlukan atau opsional dalam situasi tertentu. Lihat halaman referensi untuk IRP untuk detail selengkapnya.

(2) Bus filter drivers might handle a query for BusRelations.

(3) Didukung di Windows 7 dan versi Windows yang lebih baru.