다음을 통해 공유


WdfDevicePostEvent 함수(wdfdevice.h)

[UMDF에만 적용]

WdfDevicePostEvent 메서드는 드라이버에서 지정된 이벤트를 기다리는 애플리케이션에 비동기적으로 알 수 있습니다.

구문

NTSTATUS WdfDevicePostEvent(
  [in] WDFDEVICE      Device,
  [in] REFGUID        EventGuid,
  [in] WDF_EVENT_TYPE WdfEventType,
  [in] BYTE           *Data,
  [in] ULONG          DataSizeCb
);

매개 변수

[in] Device

프레임워크 디바이스 개체에 대한 핸들입니다.

[in] EventGuid

이벤트에 대한 GUID입니다. GUID는 애플리케이션 및 드라이버에 의해 결정되며 프레임워크에 불투명합니다.

[in] WdfEventType

이벤트 유형을 식별하는 WDF_EVENT_TYPE 형식의 값입니다. UMDF의 현재 버전에서 드라이버는 EventTypeWdfEventBroadcast (1)로 설정해야 합니다. WdfEventBroadcast 는 이벤트가 브로드캐스트됨을 나타냅니다. 애플리케이션은 WdfEventBroadcast 형식 이벤트를 구독할 수 있습니다. 브로드캐스트 이벤트를 수신하려면 애플리케이션이 Microsoft Win32 RegisterDeviceNotification 함수를 통해 알림을 등록해야 합니다. WdfEventBroadcast 형식 이벤트는 애플리케이션에 DBT_CUSTOMEVENT 형식 이벤트로 노출됩니다.

[in] Data

이벤트와 연결된 데이터를 포함하는 버퍼에 대한 포인터입니다. NULL 은 유효한 값입니다.

[in] DataSizeCb

데이터가 가리키는 데이터의 크기(바이트)입니다. 데이터가NULL로 설정된 경우 0은 유효한 크기 값입니다.

반환 값

작업이 성공하면 WdfDevicePostEvent 는 STATUS_SUCCESS 반환합니다. 추가 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
WdfEventTypeWdfEventBroadcast로 설정되지 않았습니다.
 

메서드는 다른 NTSTATUS 값을 반환할 수 있습니다.

설명

드라이버가 WdfDevicePostEvent 를 호출하여 요청 애플리케이션에 이벤트에 대해 알리면 UMDF는 이벤트를 운영 체제로 보냅니다. 운영 체제는 비동기 작업에서 요청 애플리케이션에 이벤트를 보냅니다. 운영 체제에서 처음에 오류를 반환하지 않으면 WdfDevicePostEvent 는 STATUS_SUCCESS 반환합니다.

그러나 나중에 운영 체제가 이벤트 제공을 시도하는 동안 오류가 발생하는 경우(메모리 부족 상태일 수 있음) 운영 체제에서 오류에 대해 드라이버에 알릴 수 없습니다. 이 이벤트 알림의 비동기 특성으로 인해 요청 애플리케이션에 이벤트 배달이 보장되지 않습니다.

요청 애플리케이션까지 이벤트 정보가 손실된 경우 애플리케이션은 손실된 이벤트에서 복구할 수 있어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1
대상 플랫폼 유니버설
최소 UMDF 버전 2.0
머리글 wdfdevice.h(Wdf.h 포함)
라이브러리 WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

추가 정보

IWDFDevice::P ostEvent

WDF_EVENT_TYPE