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 バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxelements.h |
IRQL | PASSIVE_LEVEL |