IMiniportMidi::NewStream 方法 (portcls.h)
方法 NewStream
创建与指定物理通道关联的逻辑流的新实例。
语法
NTSTATUS NewStream(
[out] PMINIPORTMIDISTREAM *Stream,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in] ULONG Pin,
[in] BOOLEAN Capture,
[in] PKSDATAFORMAT DataFormat,
[out] PSERVICEGROUP *ServiceGroup
);
参数
[out] Stream
新流的输出指针。 此参数指向调用方分配的指针变量,该方法将指针写入到流对象的 IMiniportMidiStream 接口。
[in, optional] OuterUnknown
指向需要聚合流对象的对象的 IUnknown 接口的指针。 此参数是可选的。 如果不需要聚合,则调用方将此参数指定为 NULL。
[in] PoolType
指定应从中分配 DMA 通道对象的存储的内存池的类型。 此参数设置为 POOL_TYPE 枚举值之一。
[in] Pin
指定引脚 ID。 此参数标识要打开的引脚。 如果 MIDI 微型端口对象的 IMiniport::GetDescription 方法输出一个筛选器描述符,该描述符指定筛选器上总共 n 个引脚工厂,则有效引脚 ID 的范围为 0 到 n-1。
[in] Capture
指定频道是用于捕获还是播放。 如果 为 TRUE,则为捕获 (输入) 通道。 如果 为 FALSE,则为播放 (输出) 通道。
[in] DataFormat
指向 KSDATAFORMAT 结构的指针,该结构指定要用于此流实例的数据格式。
[out] ServiceGroup
服务组的输出指针。 此参数指向调用方分配的指针变量,该方法将指针写入到流的服务组对象的 IServiceGroup 接口。 这是正在为中断通知注册的服务组。
返回值
NewStream
如果调用成功,则返回STATUS_SUCCESS。 否则,该方法将返回相应的错误代码。
注解
方法 NewStream
将流的初始状态设置为KSSTATE_STOP。
Stream、OuterUnknown 和 ServiceGroup 参数遵循 COM 对象的引用计数约定。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | portcls.h (包括 Portcls.h) |
IRQL | PASSIVE_LEVEL |