EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION回调函数 (acxelements.h)
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION回调由驱动程序实现,在为指定的流音频引擎请求线性缓冲区位置时调用。
语法
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION EvtAcxStreamaudioengineRetrieveLinearBufferPosition;
NTSTATUS EvtAcxStreamaudioengineRetrieveLinearBufferPosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
PULONGLONG Position
)
{...}
参数
StreamAudioEngine
一个已初始化的现有 ACXSTREAMAUDIOENGINE 对象。 有关 ACX 对象的详细信息,请参阅 ACX 对象的摘要。
Position
一个 ULONGLONG 值,表示自流开始以来 DMA 从指定流音频引擎的音频缓冲区中提取的字节数。
返回值
STATUS_SUCCESS
如果调用成功,则返回 。 否则,它将返回相应的错误代码。 有关详细信息,请参阅 使用 NTSTATUS 值。
备注
示例
示例用法如下所示。
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_LINEAR_BUFFER_POSITION CodecR_EvtAcxStreamAudioEngineRetrieveLinearBufferPosition;
NTSTATUS
CodecR_EvtAcxStreamAudioEngineRetrieveLinearBufferPosition(
_In_ ACXSTREAMAUDIOENGINE StreamAudioEngine,
_Out_ PULONGLONG Position
)
{
NTSTATUS status = STATUS_INVALID_PARAMETER;
ACXSTREAM stream;
PCODEC_STREAM_CONTEXT ctx;
CRenderStreamEngine * streamEngine = NULL;
PAGED_CODE();
stream = AcxStreamAudioEngineGetStream(StreamAudioEngine);
if (stream)
{
ctx = GetCodecStreamContext(stream);
streamEngine = static_cast<CRenderStreamEngine*>(ctx->StreamEngine);
status = streamEngine->GetLinearBufferPosition(Position);
}
return status;
}
ACX 要求
最低 ACX 版本: 1.0
有关 ACX 版本的详细信息,请参阅 ACX 版本概述。
要求
要求 | 值 |
---|---|
Header | acxelements.h |
IRQL | PASSIVE_LEVEL |