Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu bölümde sürücülere gönderilen PnP IP'leri açıklanmaktadır. All PnP IRPs have the major function code IRP_MJ_PNP and a minor function code indicating the particular PnP request.
Bu bölümde, tek tek IRP'ler için başvuru bilgileri sağlanır. IRP'lerin gönderilme sırasının açıklaması, DispatchPnP yordamlarında IRP'lerin nasıl işleneceğinin bir tartışması ve PnP kavramları ve terminolojisi hakkında genel bir tartışma için bkz. Tak çalıştır.
Her IRP ve her sürücü türü için, IRP'yi işlemek için bir sürücü gereklidir, isteğe bağlı olarak IRP'yi işleyebilir veya IRP'yi işlememelidir. Sürücünüzün hangi IP'leri işleyeceğini belirlemek için aşağıdaki tabloya bakın ve ardından tek tek IRP'ler hakkında bilgi için başvuru sayfalarına bakın. IRP'ler tabloda işlevsel sırada ve IRP başvuru sayfalarında alfabetik sırada listelenir.
Belirli bir sürücü için tabloda bir IRP "Hayır" olarak işaretlenmişse, bu sürücü IRP'yi işlememelidir. Sürücünün IRP'yi, IRP'nin başvuru sayfasında açıklandığı gibi cihaz yığınındaki bir sonraki sürücüye geçirmesi gerekir.
PnP yöneticisi bu IP'leri gönderir. PnP sürücüleri bu IRP'lerden bazılarını gönderebilir, ancak yalnızca bu bölümde not edilenleri gönderebilir.
PnP IRP'leri için küçük işlev kodları ve bunları işleyen sürücü türleri şunlardır:
| PnP IRP ikincil işlev kodu | Value | Kötü amaçlı olmayan cihaz için işlev veya filtre sürücüsü | Veri yolu cihazı için işlev sürücüsü (veri yolu FDO için) | Veri yolu sürücüsü veya veri yolu filtresi sürücüsü (alt PPO'lar için) |
|---|---|---|---|---|
| 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 | İsteğe Bağlı veya Gerekli | |
| 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 | Hayır veya İsteğe Bağlı | |
| - 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) Belirli durumlarda gerekli veya isteğe bağlı. Daha fazla ayrıntı için IRP'nin başvuru sayfasına bakın.
(2) Bus filter drivers might handle a query for BusRelations.
(3) Windows'un Windows 7 ve sonraki sürümlerinde desteklenir.