驅動程式會實作 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 版本概觀。
要求
| 要求 | 價值 |
|---|---|
| 標頭 | acxelements.h |
| IRQL | PASSIVE_LEVEL |