IPortWaveRTStream 接口 (portcls.h)
windows Vista 及更高版本的作系统支持 IPortWaveRTStream
接口,它是一个特定于流的接口,提供 WaveRT 微型端口驱动程序使用的帮助程序方法。 微型端口驱动程序调用方法来执行音频数据的循环缓冲区的分配和映射。 WaveRT 端口驱动程序实现此接口。 端口驱动程序为它创建的每个微型端口驱动程序流对象提供 IPortWaveRTStream
对象引用。
IPortWaveRTStream
继承自 IUnknown 接口。
音频流与 WaveRT 筛选器上的每个引脚实例相关联。 适配器驱动程序通过绑定 WaveRT 端口和微型端口驱动程序来形成筛选器。 当端口驱动程序调用 IMiniportWaveRT::NewStream 方法以创建微型端口驱动程序流对象时,端口驱动程序会将 IPortWaveRTStream
引用作为方法的调用参数之一传递。
若要分配循环缓冲区所需的内存,微型端口驱动程序必须调用 AllocatePagesForMdl 方法或 IPortWaveRTStream
接口的 AllocateContiguousPagesForMdl 方法。 该接口提供了其他方法,这些方法可以映射分配的页面、取消映射页,还可以释放它们。
IPortWaveRTStream
接口中的方法基于并类似于执行内存描述符列表分配和映射的 MmXxx 内核函数(MDL)。 但是,不能使用 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 方法释放映射。 |
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | portcls.h |