IPortWaveRTStream 接口 (portcls.h)
该 IPortWaveRTStream
接口在 Windows Vista 及更高版本的操作系统中受支持,它是一个特定于流的接口,可提供 WaveRT 微型端口驱动程序使用的帮助程序方法。 微型端口驱动程序调用 方法以执行音频数据的循环缓冲区的分配和映射。 WaveRT 端口驱动程序实现此接口。 端口驱动程序为它创建的每个微型端口驱动程序流对象提供 IPortWaveRTStream
对象引用。 IPortWaveRTStream
继承自 IUnknown 接口。
音频流与 WaveRT 筛选器上的每个引脚实例相关联。 适配器驱动程序通过绑定 WaveRT 端口和微型端口驱动程序来形成筛选器。 当端口驱动程序调用 IMiniportWaveRT::NewStream 方法来创建微型端口驱动程序流对象时,端口驱动程序会将引用作为方法的调用参数之一传递 IPortWaveRTStream
。
若要分配循环缓冲区所需的内存,微型端口驱动程序必须调用接口的 AllocatePagesForMdl 方法或 AllocateContiguousPagesForMdl 方法 IPortWaveRTStream
。 接口提供了其他方法,这些方法可以映射分配的页面、取消映射它们,还可以释放它们。
接口中的 IPortWaveRTStream
方法基于并且类似于执行内存描述符列表 (MDL) 的分配和映射的 MmXxx 内核函数。 但是,不能使用 MmXxx 函数来代替 IPortWaveRTStream
方法。
继承
IPortWaveRTStream 接口继承自 IUnknown 接口。 IPortWaveRTStream 还具有以下类型的成员:
方法
IPortWaveRTStream 接口具有这些方法。
IPortWaveRTStream::AllocateContiguousPagesForMdl AllocateContiguousPagesForMdl 方法分配连续、非分页的物理内存页的列表,并返回指向内存描述符列表 (MDL) 的指针。 |
IPortWaveRTStream::AllocatePagesForMdl AllocatePagesForMdl 方法分配非分页物理内存页的列表,并返回指向内存描述符列表的指针, (MDL) 描述它们。 |
IPortWaveRTStream::FreePagesFromMdl FreePagesFromMdl 方法释放内存描述符列表 (MDL) 。 |
IPortWaveRTStream::GetPhysicalPageAddress GetPhysicalPageAddress 方法返回内存描述符列表中页面的物理地址 (MDL) 。 |
IPortWaveRTStream::GetPhysicalPagesCount GetPhysicalPagesCount 方法返回内存描述符列表中的物理页计数, (MDL) 。 |
IPortWaveRTStream::MapAllocatedPages MapAllocatedPages 方法将以前分配的物理页面列表映射到可从内核模式访问的连续虚拟内存块中。 |
IPortWaveRTStream::UnmapAllocatedPages UnmapAllocatedPages 方法释放映射。 |
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | portcls.h |