AcxEventCreate 함수(acxevents.h)
AcxEventCreate 함수는 ACX 이벤트를 만듭니다.
구문
NTSTATUS AcxEventCreate(
ACXOBJECT Object,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACX_EVENT_CONFIG Config,
ACXEVENT *Event
);
매개 변수
Object
ACX 개체 요약에 설명된 ACXOBJECT입니다.
Attributes
다양한 개체의 값을 설정하는 데 사용되는 WDF_OBJECT_ATTRIBUTES 사용하여 정의된 추가 특성: 콜백 정리 및 삭제, 컨텍스트 형식 및 부모 개체를 지정합니다.
Config
ACX 이벤트 구성을 정의하는 ACX_EVENT_CONFIG 구조체입니다.
Event
새로 만든 ACXEVENT 개체입니다( ACX 개체 요약에 설명됨).
반환 값
호출이 성공하면 를 반환합니다 STATUS_SUCCESS
. 그렇지 않으면 적절한 오류 코드를 반환합니다. 자세한 내용은 NTSTATUS 값 사용을 참조하세요.
설명
ACXEVENT는 드라이버 수준에서 사용할 수 있는 비동기 알림을 나타냅니다. 이벤트를 ACXCIRCUIT, ACXSTREAM, ACXELEMENT 및 ACXPIN에 추가할 수 있습니다. 내부적으로는 상위 계층에 KS 이벤트로 노출됩니다. KS 이벤트에 대한 자세한 내용은 KS 이벤트를 참조하세요.
예제
이 예제 코드 캡처는 ACX에서 AcxEventCreate를 사용하여 오디오 잭 변경 이벤트를 만드는 방법을 보여줍니다.
NTSTATUS status = STATUS_SUCCESS;
PAGED_CODE();
ACX_EVENT_CALLBACKS eventCallbacks;
ACX_EVENT_CONFIG eventCfg;
AFX_PIN_EVENT_CONTEXT *eventCtx;
ACXEVENT jackEvent;
WDF_OBJECT_ATTRIBUTES attributes;
//
// Add jack info change event to this jack object
//
ACX_EVENT_CALLBACKS_INIT(&eventCallbacks);
eventCallbacks.EvtAcxEventEnable = &AfxPin::EvtJackEventEnableCallback;
eventCallbacks.EvtAcxEventDisable = &AfxPin::EvtJackEventDisableCallback;
ACX_EVENT_CONFIG_INIT(&eventCfg);
eventCfg.Set = &KSEVENTSETID_PinCapsChange;
eventCfg.Id = KSEVENT_PINCAPS_JACKINFOCHANGE;
eventCfg.Callbacks = &eventCallbacks;
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, AFX_PIN_EVENT_CONTEXT);
attributes.ParentObject = GetObjectHandle();
status = AcxEventCreate(GetObjectHandle(), &attributes, &eventCfg, &jackEvent);
ACX 요구 사항
최소 ACX 버전: 1.0
ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | acxevents.h |
IRQL | PASSIVE_LEVEL |