IWDFDevice::P ostEvent 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. For more info, see Getting Started with UMDF.]

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

구문

HRESULT PostEvent(
  [in] REFGUID        EventGuid,
  [in] WDF_EVENT_TYPE EventType,
  [in] BYTE           *pbData,
  [in] DWORD          cbDataSize
);

매개 변수

[in] EventGuid

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

[in] EventType

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

[in] pbData

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

[in] cbDataSize

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

이벤트 데이터의 최대 크기는 MAXUSHORT(64KB)보다 약간 작습니다. 정확한 상한은 (0xFFFF - FIELD_OFFSET(TARGET_DEVICE_CUSTOM_NOTIFICATION, CustomDataBuffer))입니다.

반환 값

PostEvent 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
S_OK
이벤트 데이터가 운영 체제로 성공적으로 전송되었습니다.
HRESULT_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY)
cbDataSize 매개 변수가 지정하는 데이터 크기가 허용되는 최대 크기보다 큽니다.
E_INVALIDARG
EventType 매개 변수가 WdfEventBroadcast(1)로 설정되지 않았습니다.
E_OUTOFMEMORY

PostEvent가 완료하는 데 필요한 메모리를 할당할 수 없습니다.

PostEvent 는 다른 HRESULT 값을 반환할 수도 있습니다.

설명

드라이버가 IWDFDevice::P ostEvent 를 호출하여 요청 애플리케이션에 이벤트에 대해 알리면 UMDF는 이벤트를 운영 체제로 보냅니다. 운영 체제는 비동기 작업에서 요청 애플리케이션에 이벤트를 보냅니다. 운영 체제에서 처음에 오류를 반환하지 않으면 드라이버는 오류(S_OK)를 받지 않습니다. 그러나 나중에 운영 체제가 이벤트를 배달하는 동안 오류를 수신하는 경우(메모리 부족 상태일 수 있음) 운영 체제에서 오류에 대해 드라이버에 알릴 수 없습니다. 이 이벤트 알림의 비동기 특성으로 인해 요청 애플리케이션에 이벤트 배달이 보장되지 않습니다. 요청 중인 애플리케이션까지 이벤트 정보가 손실된 경우 애플리케이션은 손실된 이벤트에서 복구할 수 있어야 합니다.

디바이스 이벤트를 만드는 방법에 대한 자세한 내용은 UMDF 드라이버에서 디바이스 인터페이스 사용을 참조하세요.

요구 사항

   
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 데스크톱
최소 UMDF 버전 1.5
헤더 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

참고 항목

FIELD_OFFSET

IWDFDevice

TARGET_DEVICE_CUSTOM_NOTIFICATION

WdfDevicePostEvent