IPort::Init 方法 (portcls.h)
Init 方法初始化端口驱动程序。
语法
NTSTATUS Init(
PVOID DeviceObject,
PVOID Irp,
PUNKNOWN UnknownMiniport,
PUNKNOWN UnknownAdapter,
PRESOURCELIST ResourceList
);
参数
DeviceObject
指向作为参数传递到适配器驱动程序的设备启动例程的设备对象的指针。 设备对象是 DEVICE_OBJECT 类型的系统结构。
Irp
指向作为参数传递到适配器驱动程序的设备启动例程的 IRP 的指针。
UnknownMiniport
指向未初始化微型端口对象的 IUnknown 接口的指针。 此接口将查询端口驱动程序支持的特定微型端口接口,并调用该接口上的初始化函数。
UnknownAdapter
指向正在初始化其端口驱动程序的适配器对象的 IUnknown 接口的指针。 此指针是可选的,可以指定为 NULL。 有关更多信息,请参见下面的“备注”部分。
ResourceList
指向作为参数传递到适配器驱动程序的设备启动例程的 IResourceList 对象的指针。 将此引用传递给微型端口驱动程序后,端口驱动程序可以自由检查资源列表的内容,但不会修改此列表的内容。
返回值
如果调用成功,此方法返回包含STATUS_SUCCESS的 NTSTATUS。 否则,该方法将返回相应的错误代码。
注解
UnknownMiniport 指定的微型端口对象必须支持端口驱动程序所需的微型端口接口,否则 Init 调用将失败。
例如,在 IPort::Init 调用期间,端口驱动程序 (调用微型端口驱动程序的初始化方法,请参阅 IMiniportWavePci::Init) 。
参数 UnknownAdapter 指向适配器对象的 COM 接口。 适配器驱动程序通常在其设备启动例程中创建此对象,操作系统调用该例程来启动设备 (请参阅启动序列) 。 有关适配器对象的接口示例,请参阅 CMiniportWaveRT::Init
sysvad 音频驱动程序示例中的定义和实现。
UnknownMiniport、UnknownAdapter 和 ResourceList 参数遵循 COM 对象的标准引用计数约定。
要求
要求 | 值 |
---|---|
Header | portcls.h |
IRQL | PASSIVE_LEVEL |