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 对象。 -
如果 UnknownAdapterNULL,
Init
方法将调用 PcNewInterruptSync 以创建新的 IInterruptSync 对象。 在这种情况下,ResourceList 指向的资源列表提供新 IInterruptSync 对象使用的中断资源。
Init
方法并在 IInterruptSync 对象上调用 RegisterServiceRoutine 方法,以便将微型端口驱动程序的中断服务例程 (ISR) 添加到中断同步例程列表中。 当适配器驱动程序稍后释放端口对象时,端口驱动程序将释放对 IInterruptSync 对象的引用。
UnknownAdapter 和 ResourceList 参数是适配器驱动程序先前作为参数传递给 IPortMidi 对象的 Init 方法的指针值(请参阅 IPort::Init)。
UnknownAdapter、ResourceList、端口,ServiceGroup 参数遵循 COM 对象的 引用计数约定。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | portcls.h (包括 Portcls.h) |
IRQL | PASSIVE_LEVEL |