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 |