pcInitializeAdapterDriver 函数 (portcls.h)
PcInitializeAdapterDriver 函数将适配器驱动程序绑定到 PortCls 系统驱动程序。 用于添加和删除设备的 IRP 处理程序和处理程序安装在驱动程序对象中。 需要绑定到多个类驱动程序的适配器驱动程序不应调用此函数。
语法
PORTCLASSAPI NTSTATUS PcInitializeAdapterDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] PUNICODE_STRING RegistryPathName,
[in] PDRIVER_ADD_DEVICE AddDevice
);
参数
[in] DriverObject
指向驱动程序对象的指针,该对象是 DRIVER_OBJECT类型的系统结构。 此指针作为参数传递给适配器的 DriverEntry 函数。
[in] RegistryPathName
指定要作为参数传递给适配器 DriverEntry 函数的注册表路径名称。
[in] AddDevice
指向适配器的 AddDevice 函数的指针。 这是 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 函数将指向以下 IRP 处理程序的指针加载到驱动程序对象中:
- 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。 有关代码示例,请参阅 Microsoft Windows 驱动程序工具包 (WDK) 中的 SB16 示例音频驱动程序。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | PortCls 系统驱动程序在 Microsoft Windows 98/Me 以及 Windows 2000 及更高版本的操作系统中实现 PcInitializeAdapterDriver 函数。 |
目标平台 | 通用 |
标头 | portcls.h (包括 Portcls.h) |
Library | Portcls.lib |
IRQL | PASSIVE_LEVEL |