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 接口。
  • 如果 pUnknownAdapterNULL,该方法 Init 将调用 PcNewInterruptSync 以创建新的 IInterruptSync 对象。 在这种情况下, pResourceList 指向的资源列表提供新的 IInterruptSync 对象使用的中断资源。
在任一情况下, Init 方法和对 IInterruptSync 对象调用 RegisterServiceRoutine 方法,以便将微型端口驱动程序的中断服务例程 (ISR) 添加到 ISR 列表中。 当适配器驱动程序稍后释放端口对象时,端口驱动程序会释放其对 IInterruptSync 对象的引用。

pUnknownAdapterpResourceList 参数是适配器驱动程序之前作为参数传递给 IPortDMus 对象的 Init 方法的指针值, (请参阅 IPort::Init) 。

pUnknownAdapterpResourceListpPortppServiceGroup 参数遵循 COM 对象的引用计数约定

要求

要求
目标平台 桌面
标头 dmusicks.h (包括 Dmusicks.h)
IRQL PASSIVE_LEVEL

另请参阅

IInterruptSync

IMiniportDMus

IPort::Init

IPortDMus

IPortDMus::Notify

IResourceList

IServiceGroup

PcNewInterruptSync