EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION回调函数 (acxelements.h)
EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION回调函数由驱动程序实现,并在为指定的流音频引擎设置音频缓冲区中最后一个有效字节的位置时调用。
语法
EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION EvtAcxStreamaudioengineAssignLastBufferPosition;
NTSTATUS EvtAcxStreamaudioengineAssignLastBufferPosition(
ACXSTREAMAUDIOENGINE StreamAudioEngine,
ULONG Position
)
{...}
参数
StreamAudioEngine
一个已初始化的现有 ACXSTREAMAUDIOENGINE 对象。 有关 ACX 对象的详细信息,请参阅 ACX 对象的摘要。
Position
指示最后一个有效字节在指定流音频引擎的音频缓冲区中的位置。 有关位置值的详细信息,请参阅 KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_LASTBUFFER_POSITION。
返回值
STATUS_SUCCESS
如果调用成功,则返回 。 否则,它将返回相应的错误代码。 有关详细信息,请参阅 使用 NTSTATUS 值。
备注
示例
示例用法如下所示。
EVT_ACX_STREAMAUDIOENGINE_ASSIGN_LAST_BUFFER_POSITION CodecR_EvtAcxStreamAudioEngineAssignLastBufferPosition;
NTSTATUS
CodecR_EvtAcxStreamAudioEngineAssignLastBufferPosition(
_In_ ACXSTREAMAUDIOENGINE StreamAudioEngine,
_In_ ULONG 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->SetLastBufferPosition(Position);
}
return status;
}
ACX 要求
最低 ACX 版本: 1.0
有关 ACX 版本的详细信息,请参阅 ACX 版本概述。
要求
要求 | 值 |
---|---|
Header | acxelements.h |
IRQL | PASSIVE_LEVEL |