다음을 통해 공유


EVT_ACX_STREAM_GET_HW_LATENCY 콜백 함수(acxstreams.h)

EvtAcxStreamGetHwLatency 이벤트는 드라이버에 이 스트림의 특정 회로에 대한 스트림 대기 시간을 제공하도록 지시합니다(전체 대기 시간은 서로 다른 회로의 대기 시간의 합계).

구문

EVT_ACX_STREAM_GET_HW_LATENCY EvtAcxStreamGetHwLatency;

NTSTATUS EvtAcxStreamGetHwLatency(
  ACXSTREAM Stream,
  ULONG *FifoSize,
  ULONG *Delay
)
{...}

매개 변수

Stream

ACXSTREAM 개체는 회로에서 만든 오디오 스트림을 나타냅니다. 스트림은 부모 회로의 요소를 기반으로 만든 요소 목록으로 구성됩니다. 자세한 내용은 ACX - ACX 개체 요약을 참조하세요.

FifoSize

FifoSize(바이트)입니다.

Delay

100나노초 단위의 지연입니다.

반환 값

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

설명

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

    //
    // Init streaming callbacks.
    //
    ACX_RT_STREAM_CALLBACKS rtCallbacks;
    ACX_RT_STREAM_CALLBACKS_INIT(&rtCallbacks);
    
    rtCallbacks.EvtAcxStreamGetHwLatency = EvtStreamGetHwLatency;

    status = AcxStreamInitAssignAcxRtStreamCallbacks(StreamInit, &rtCallbacks));
PAGED_CODE_SEG
NTSTATUS
EvtStreamGetHwLatency(
    _In_ ACXSTREAM Stream,
    _Out_ ULONG * FifoSize,
    _Out_ ULONG * Delay
)
{
    PSTREAM_CONTEXT ctx;

    PAGED_CODE();

    ctx = GetStreamContext(Stream);

    *FifoSize = ctx->DmaFifoSize;
    *Delay = ctx->ChipsetDelay + ctx->CodecDelay;

    return STATUS_SUCCESS;
}

ACX 요구 사항

최소 ACX 버전: 1.0

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

요구 사항

요구 사항
헤더 acxstreams.h
IRQL PASSIVE_LEVEL

추가 정보