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