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
ストリームの開始以降に指定されたストリーム オーディオ エンジンのオーディオ バッファーから DMA がフェッチしたバイト数を表す ULONGLONG 値。
戻り値
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 |