EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION回调函数 (acxelements.h)
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION 回调函数由驱动程序实现,调用该函数以检索呈现到流音频引擎节点的音频数据中的当前位置。
语法
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION EvtAcxStreamaudioengineRetrievePresentationPosition;
NTSTATUS EvtAcxStreamaudioengineRetrievePresentationPosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
PULONGLONG PositionInBlocks,
PULONGLONG QPCPosition
)
{...}
参数
StreamAudioEngine
现有的、已初始化的 ACXSTREAMAUDIOENGINE 对象。 有关 ACX 对象的详细信息,请参阅 ACX 对象的摘要。
PositionInBlocks
指定从流开始到流中当前解码后未压缩位置的块偏移量。 有关此值的详细信息,请参阅 KSAUDIO_PRESENTATION_POSITION 结构。
QPCPosition
指定音频驱动程序读取呈现位置以响应回调时的性能计数器的值。 有关此值的详细信息,请参阅 KSAUDIO_PRESENTATION_POSITION 结构。
返回值
如果调用成功,则返回 STATUS_SUCCESS
。 否则,它将返回适当的错误代码。 有关详细信息,请参阅 使用 NTSTATUS 值。
言论
例
示例用法如下所示。
EVT_ACX_STREAMAUDIOENGINE_RETRIEVE_PRESENTATION_POSITION CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition;
NTSTATUS
CodecR_EvtAcxStreamAudioEngineRetrievePresentationPosition(
_In_ ACXSTREAMAUDIOENGINE StreamAudioEngine,
_Out_ PULONGLONG PositionInBlocks,
_Out_ PULONGLONG QPCPosition
)
{
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->GetPresentationPosition(PositionInBlocks, QPCPosition);
}
return status;
}
ACX 要求
最低 ACX 版本: 1.0
有关 ACX 版本的详细信息,请参阅 ACX 版本概述。
要求
要求 | 价值 |
---|---|
标头 | acxelements.h |
IRQL | PASSIVE_LEVEL |