Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция PcInitializeAdapterDriver привязывает драйвер адаптера к системным драйверу PortCls. Обработчики и обработчики IRP для добавления и удаления устройств устанавливаются в объект драйвера. Драйверы адаптера, которые должны привязаться к нескольким драйверам классов, не должны вызывать эту функцию.
Синтаксис
PORTCLASSAPI NTSTATUS PcInitializeAdapterDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] PUNICODE_STRING RegistryPathName,
[in] PDRIVER_ADD_DEVICE AddDevice
);
Параметры
[in] DriverObject
Указатель на объект драйвера, который является системной структурой типа DRIVER_OBJECT. Этот указатель передается в качестве параметра в функцию driverEnt ry адаптера.
[in] RegistryPathName
Указывает имя пути реестра, которое необходимо передать в качестве параметра в функцию driverEntry адаптера.
[in] AddDevice
Указатель на функцию AddDev ice адаптера. Это указатель типа PDRIVER_ADD_DEVICE, который определяется в ntddk.h:
NTSTATUS
(*PDRIVER_ADD_DEVICE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN struct _DEVICE_OBJECT *PhysicalDeviceObject
);
Возвращаемое значение
PcInitializeAdapterDriver возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.
Замечания
Обработчик AddDevice, предоставленный в вызове этой функции, должен вызывать PcAddAdapterDevice. Дополнительные сведения см. в последовательности запуска.
Функция pcInitializeAdapterDriver загружает указатели на обработчики для следующих irPs в объект драйвера:
- IRP_MJ_CLOSE
- IRP_MJ_CREATE
- IRP_MJ_DEVICE_CONTROL
- IRP_MJ_FLUSH_BUFFERS
- IRP_MJ_PNP
- IRP_MJ_POWER
- IRP_MJ_QUERY_SECURITY
- IRP_MJ_READ
- IRP_MJ_SET_SECURITY
- IRP_MJ_SYSTEM_CONTROL
- IRP_MJ_WRITE
Драйвер адаптера, который перезаписывает один или несколько указателей выше с указателем на собственный обработчик IRP, может вызывать PcDispatchIrp из подпрограммы обработчика, чтобы перенаправить IRP в PortCls. Пример кода см. в примере звукового драйвера SB16 в комплекте драйверов Microsoft Windows (WDK).
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Системный драйвер PortCls реализует функцию PcInitializeAdapterDriver в Microsoft Windows 98/Me и в Windows 2000 и более поздних операционных системах. |
| целевая платформа | Всеобщий |
| заголовка | portcls.h (include Portcls.h) |
| библиотеки | Portcls.lib |
| IRQL | PASSIVE_LEVEL |