EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST 콜백 함수(acxrequest.h)
EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST 콜백은 드라이버에서 이벤트 알림을 처리하는 데 사용됩니다.
구문
EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST EvtAcxObjectProcessEventRequest;
void EvtAcxObjectProcessEventRequest(
ACXOBJECT Object,
ACXEVENT Event,
ACX_EVENT_VERB Verb,
ACXEVENTDATA EventData,
WDFREQUEST Request
)
{...}
매개 변수
Object
요청과 연결된 ACX 개체입니다.
Event
ACXEVENT 개체( ACX 개체 요약에 설명됨). 드라이버 수준에서 사용할 수 있는 비동기 알림을 나타내는 AcxEvent 개체입니다. 이벤트는 AcxCircuits, AcxStreams, AcxElements 및 AcxPins에 추가할 수 있습니다. 내부적으로는 상위 계층에 KS 이벤트로 노출됩니다.
Verb
작업 유형을 설명하는 ACX_EVENT_VERB 열거형의 동사입니다.
EventData
이벤트에 대한 정보를 제공하는 선택적 ACXEVENTDATA ACX 개체입니다.
Request
이 작업과 연결된 선택적 WDFREQUEST 개체입니다.
WDF 요청 개체 작업에 대한 자세한 내용은 프레임워크 요청 개체 및 wdfrequest.h 헤더 만들기를 참조하세요.
반환 값
없음
설명
예제
사용 예제는 다음과 같습니다.
EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST CodecR_EvtMuteElementChangeEventCallback;
...
VOID
CodecR_EvtMuteElementChangeEventCallback(
_In_ ACXOBJECT Object,
_In_ ACXEVENT Event,
_In_ ACX_EVENT_VERB Verb,
_In_opt_ ACXEVENTDATA EventData,
_In_opt_ WDFREQUEST Request
)
{
NTSTATUS status = STATUS_NOT_SUPPORTED;
PCODEC_MUTE_ELEMENT_CONTEXT muteCtx = NULL;
CODEC_MUTE_EVENT_CONTEXT * muteEventCtx;
PAGED_CODE();
muteCtx = GetCodecMuteElementContext(Object);
ASSERT(muteCtx);
// for testing.
muteEventCtx = GetCodecMuteEventContext(Event);
ASSERT(muteEventCtx);
//
// Take the correct action: enable/disable.
//
switch (Verb)
{
case AcxEventVerbEnable:
AcxEventAddEventData(Event, EventData);
WdfTimerStart(muteEventCtx->Timer, WDF_REL_TIMEOUT_IN_MS(10));
status = STATUS_SUCCESS;
break;
case AcxEventVerbBasicSupport:
status = STATUS_SUCCESS;
break;
case AcxEventVerbDisable:
ASSERT(Request == NULL);
//
// Verb is AcxEventVerbDisable;
// It is ok to generate events even if no one is listening.
// If present, ACX completes the request associated with this action.
//
break;
default:
ASSERT(FALSE);
status = STATUS_INVALID_DEVICE_REQUEST;
break;
}
if (Request != NULL)
{
WdfRequestComplete(Request, status);
}
}
ACX 요구 사항
최소 ACX 버전: 1.0
ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | acxrequest.h |
IRQL | PASSIVE_LEVEL |
추가 정보
- [acxrequest.h 헤더] (index.md)