IMiniportMidi::Init 方法 (portcls.h)

Init 方法初始化 MIDI 微型端口对象。

语法

NTSTATUS Init(
  [in]  PUNKNOWN      UnknownAdapter,
  [in]  PRESOURCELIST ResourceList,
  [in]  PPORTMIDI     Port,
  [out] PSERVICEGROUP *ServiceGroup
);

参数

[in] UnknownAdapter

指向要初始化其微型端口对象的适配器对象的 IUnknown 接口的指针。 此参数是可选的,可以指定为 NULL 。 有关详细信息,请参阅以下“备注”部分。

[in] ResourceList

指向在初始化期间要提供给微型端口驱动程序的资源列表对象的 IResourceList 接口的指针。 将此引用传递给微型端口驱动程序后,端口驱动程序可以自由检查资源列表的内容,但不会修改此列表的内容。 有关详细信息,请参阅以下“备注”部分。

[in] Port

指向绑定到此微型端口对象的 IPortMidi 对象的指针。 调用方指定此参数的有效非NULL 指针值。

[out] ServiceGroup

服务组的输出指针。 此参数指向调用方分配的指针变量,该方法将指针写入到微型端口驱动程序的服务组对象的 IServiceGroup 接口。 这是正在为中断通知注册的服务组。 调用方指定此参数的有效非NULL 指针值。

返回值

如果调用成功,Init 返回STATUS_SUCCESS。 否则,该方法将返回适当的错误代码。

言论

UnknownAdapter 参数是可选的:

  • 如果 UnknownAdapter 为非NULL,则 Init 方法将查询其 IInterruptSync 接口的 UnknownAdapter 对象。
  • 如果 UnknownAdapterNULLInit 方法将调用 PcNewInterruptSync 以创建新的 IInterruptSync 对象。 在这种情况下,ResourceList 指向的资源列表提供新 IInterruptSync 对象使用的中断资源。
在任一情况下,Init 方法并在 IInterruptSync 对象上调用 RegisterServiceRoutine 方法,以便将微型端口驱动程序的中断服务例程 (ISR) 添加到中断同步例程列表中。 当适配器驱动程序稍后释放端口对象时,端口驱动程序将释放对 IInterruptSync 对象的引用。

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

UnknownAdapterResourceList端口ServiceGroup 参数遵循 COM 对象的 引用计数约定

要求

要求 价值
目标平台 普遍
标头 portcls.h (包括 Portcls.h)
IRQL PASSIVE_LEVEL

另请参阅

IInterruptSync

IMiniportMidi

IPort::Init

IPortMidi

IResourceList

IServiceGroup

PcNewInterruptSync