다음을 통해 공유


EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION 콜백 함수(acxelements.h)

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION 콜백 함수는 드라이버에 의해 구현되며 지정된 스트림 오디오 엔진의 현재 쓰기 위치가 설정되면 호출됩니다.

구문

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION EvtAcxStreamaudioengineAssignCurrentWritePosition;

NTSTATUS EvtAcxStreamaudioengineAssignCurrentWritePosition(
  ACXSTREAMAUDIOENGINE StreamAudioEngine,
  ULONG Position
)
{...}

매개 변수

StreamAudioEngine

초기화된 기존 ACXSTREAMAUDIOENGINE 개체입니다. ACX 개체에 대한 자세한 내용은 ACX 개체 요약을 참조하세요.

Position

ACXSTREAMAUDIOENGINE 개체의 현재 쓰기 위치(바이트)입니다. 위치 값에 대한 자세한 내용은 KSPROPERTY_AUDIO_WAVERT_CURRENT_WRITE_POSITION 참조하세요.

반환 값

호출이 성공하면 를 반환합니다 STATUS_SUCCESS . 그렇지 않으면 적절한 오류 코드를 반환합니다. 자세한 내용은 NTSTATUS 값 사용을 참조하세요.

설명

예제

사용 예제는 다음과 같습니다.

EVT_ACX_STREAMAUDIOENGINE_ASSIGN_CURRENT_WRITE_POSITION     CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition;

NTSTATUS
CodecR_EvtAcxStreamAudioEngineAssignCurrentWritePosition(
    _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->SetCurrentWritePosition(Position);
    }

    return status;
}

ACX 요구 사항

최소 ACX 버전: 1.0

ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.

요구 사항

요구 사항
헤더 acxelements.h
IRQL PASSIVE_LEVEL

추가 정보