IMiniportDMus::Init 方法 (dmusicks.h)
方法 Init
初始化 DMus 微型端口对象。
语法
NTSTATUS Init(
[in, optional] PUNKNOWN UnknownAdapter,
[in] PRESOURCELIST ResourceList,
[in] PPORTDMUS Port,
[out] PSERVICEGROUP *ServiceGroup
);
参数
[in, optional] UnknownAdapter
指向正在初始化其微型端口对象的适配器对象的 IUnknown 接口的指针。 此参数是可选的,可以指定为 NULL。 有关更多信息,请参见下面的“备注”部分。
[in] ResourceList
指向包含适配器的资源列表的 IResourceList 对象的指针。 将此引用传递给微型端口驱动程序后,端口驱动程序可以自由检查资源列表的内容,但不会修改此列表的内容。
[in] Port
指向提供端口驱动程序回调接口的 IPortDMus 对象的指针。
[out] ServiceGroup
服务组的输出指针。 此参数指向调用方分配的指针变量,该方法在其中写入指向微型端口驱动程序服务组对象的 IServiceGroup 接口的指针。 这是此微型端口驱动程序希望用于调用 IPortDMus::Notify 的服务组。
返回值
Init
如果调用成功,则返回S_OK。 否则,该方法将返回相应的错误代码。
注解
pUnknownAdapter 参数是可选的:
-
如果 pUnknownAdapter 为非 NULL,该方法
Init
将查询 pUnknownAdapter 对象的 IInterruptSync 接口。 -
如果 pUnknownAdapter 为 NULL,该方法
Init
将调用 PcNewInterruptSync 以创建新的 IInterruptSync 对象。 在这种情况下, pResourceList 指向的资源列表提供新的 IInterruptSync 对象使用的中断资源。
Init
方法和对 IInterruptSync 对象调用 RegisterServiceRoutine 方法,以便将微型端口驱动程序的中断服务例程 (ISR) 添加到 ISR 列表中。 当适配器驱动程序稍后释放端口对象时,端口驱动程序会释放其对 IInterruptSync 对象的引用。
pUnknownAdapter 和 pResourceList 参数是适配器驱动程序之前作为参数传递给 IPortDMus 对象的 Init
方法的指针值, (请参阅 IPort::Init) 。
pUnknownAdapter、pResourceList、pPort 和 ppServiceGroup 参数遵循 COM 对象的引用计数约定。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dmusicks.h (包括 Dmusicks.h) |
IRQL | PASSIVE_LEVEL |