Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описаны ip-адреса PnP, отправляемые драйверам. All PnP IRPs have the major function code IRP_MJ_PNP and a minor function code indicating the particular PnP request.
В этом разделе содержатся справочные сведения для отдельных irPs. Ознакомьтесь с описанием порядка отправки IRP в Подключаемый модуль и play , обсуждение способа обработки irPs в подпрограммах DispatchPnP и общее обсуждение концепций и терминологии PnP.
Для каждого IRP и каждого типа драйвера драйвер либо требуется для обработки IRP, может при необходимости обрабатывать IRP, либо не должен обрабатывать IRP. Ознакомьтесь с таблицей ниже, чтобы определить, какие irPs ваш драйвер будет обрабатывать, а затем ознакомьтесь со справочными страницами для получения сведений об отдельных IRP. IrPs перечислены в функциональном порядке в таблице и в алфавитном порядке на справочных страницах IRP.
Если IRP помечен как "Нет" в таблице для определенного драйвера, этот драйвер не должен обрабатывать IRP. Драйвер должен передать IRP следующему драйверу в стеке устройств, как описано на справочной странице для IRP.
Диспетчер PnP отправляет эти ip-адреса. Драйверы PnP могут отправлять некоторые из этих ip-адресов, но только те, которые указаны в этом разделе.
Ниже приведены дополнительные коды функций для PnP IRPs и типы драйверов, обрабатывающие их:
Дополнительный код функции PnP IRP | Value | Драйвер функции или фильтра для устройства, отличного отbus | Драйвер функции для устройства шины (для FDO шины) | Драйвер шины или драйвер фильтра шины (для дочерних PDOS) |
---|---|---|---|---|
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 | Необязательный или требуемый | |
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 | Нет или необязательно | |
- 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) Обязательный или необязательный в определенных ситуациях. Дополнительные сведения см. на странице справки по IRP.
(2) Bus filter drivers might handle a query for BusRelations.
(3) Поддерживается в Windows 7 и более поздних версиях Windows.