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 バージョンの概要 参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | acxelements.h |
IRQL | PASSIVE_LEVEL |