EVT_ACX_STREAM_PAUSE 콜백 함수(acxstreams.h)
EvtAcxStreamPause 이벤트는 드라이버에 스트림 상태를 실행에서 일시 중지로 전환하도록 지시합니다.
통사론
EVT_ACX_STREAM_PAUSE EvtAcxStreamPause;
NTSTATUS EvtAcxStreamPause(
ACXSTREAM Stream
)
{...}
매개 변수
Stream
ACXSTREAM 개체는 회로에서 만든 오디오 스트림을 나타냅니다. 스트림은 부모 회로의 요소를 기반으로 만든 요소 목록으로 구성됩니다. 자세한 내용은 ACX -ACX 개체 요약을 참조하세요.
반환 값
호출에 성공하면 STATUS_SUCCESS
반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다. 자세한 내용은 NTSTATUS 값 사용참조하세요.
발언
AcxStream은 다양한 상태를 지원합니다. 이러한 상태는 오디오가 흐르는 경우(실행 상태), 오디오가 흐르지 않지만 오디오 하드웨어가 준비됨(PAUSE 상태) 또는 오디오가 흐르지 않고 오디오 하드웨어가 준비되지 않음(STOP 상태)을 나타냅니다.
EvtAcxStreamPause 이벤트는 스트림 상태를 실행 상태에서 일시 중지 상태로 전환합니다. 스트림이 일시 중지 상태이면 드라이버는 실행 상태로 전환하기 위해 EvtAcxStreamRun 이벤트를 수신하거나 드라이버가 중지 상태로 전환하기 위해 EvtAcxStreamReleaseHardware 이벤트를 수신할 수 있습니다.
ACX 디바이스 전원을 켜고 제거하는 동안 스트림이 있는 경우 ACX는 EvtAcxStreamPause를 호출하여 스트림을 일시 중지로 전환합니다. 범위가 지정된 Stream Instance입니다.
ACX 이벤트는 이 표에 설명된 대로 KS 상태와 유사합니다.
시작 상태 | 끝 상태 | ACX 드라이버 이벤트 호출 | 노트 |
---|---|---|---|
멈추다 | 얻다 | PrepareHardware | 드라이버가 하드웨어 할당 및 준비를 수행합니다. |
얻다 | 일시 중지 | (통화 없음) | |
일시 중지 | 달리다 | 달리다 | |
달리다 | 일시 중지 | 일시 중지 | |
일시 중지 | 얻다 | (통화 없음) | |
얻다 | 멈추다 | ReleaseHardware | 드라이버가 하드웨어 할당을 해제합니다. |
본보기
사용 예는 다음과 같습니다.
ACX_STREAM_CALLBACKS streamCallbacks;
ACX_STREAM_CALLBACKS_INIT(&streamCallbacks);
streamCallbacks.EvtAcxStreamPause = EvtStreamPause;
...
status = AcxStreamInitAssignAcxStreamCallbacks(StreamInit, &streamCallbacks);
#pragma code_seg("PAGE")
NTSTATUS
EvtStreamPause(
_In_ ACXSTREAM Stream
)
{
PSTREAM_CONTEXT ctx;
NTSTATUS status = STATUS_SUCCESS;
PAGED_CODE();
ctx = GetStreamContext(Stream);
status = TransitionStreamToPause(Stream);
ctx->StreamState = AcxStreamStatePause;
return status;
}
ACX 요구 사항
최소 ACX 버전: 1.0
ACX 버전에 대한 자세한 내용은 ACX 버전 개요참조하세요.
요구 사항
요구 | 값 |
---|---|
헤더 | acxstreams.h |
IRQL | PASSIVE_LEVEL |