IWDFDevice::P ostEvent 메서드(wudfddi.h)
[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 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에서 드라이버는 EventType WdfEventBroadcast (1) 설정해야 합니다. WdfEventBroadcast 이벤트가 브로드캐스트되었음을 나타냅니다. 애플리케이션은 WdfEventBroadcast-type 이벤트를 구독할 수 있습니다. 브로드캐스트 이벤트를 수신하려면 애플리케이션이 Microsoft Win32 RegisterDeviceNotification 함수를 통해 알림을 등록해야 합니다. WdfEventBroadcast-type 이벤트는 애플리케이션에 DBT_CUSTOMEVENT 형식 이벤트로 노출됩니다.
[in] pbData
이벤트와 연결된 데이터를 포함하는 버퍼에 대한 포인터입니다. NULL 유효한 값입니다.
[in] cbDataSize
pbData 가리키는 데이터의 크기(바이트)입니다. pbData NULL 설정된 경우 0은 유효한 크기 값입니다.
이벤트 데이터의 최대 크기는 MAXUSHORT(64KB)보다 약간 작습니다. 정확한 상한은 (0xFFFF - FIELD_OFFSET(TARGET_DEVICE_CUSTOM_NOTIFICATION, CustomDataBuffer)입니다.
반환 값
PostEvent 다음 값 중 하나를 반환합니다.
반환 코드 | 묘사 |
---|---|
|
이벤트 데이터가 운영 체제로 성공적으로 전송되었습니다. |
|
cbDataSize 매개 변수가 지정하는 데이터 크기가 허용되는 최대 크기보다 큽니다. |
|
EventType 매개 변수가 WdfEventBroadcast (1) 설정되지 않았습니다. |
|
PostEvent 완료하는 데 필요한 메모리를 할당할 수 없습니다. |
PostEvent 다른 HRESULT 값도 반환할 수 있습니다.
발언
드라이버가 IWDFDevice::P ostEvent 호출하여 요청 애플리케이션에 이벤트에 대해 알리면 UMDF는 해당 이벤트를 운영 체제로 보냅니다. 운영 체제는 비동기 작업에서 요청 애플리케이션에 이벤트를 보냅니다. 운영 체제가 처음에 오류를 반환하지 않으면 드라이버는 오류(S_OK)를 받지 않습니다. 그러나 나중에 운영 체제가 이벤트를 배달하는 동안 오류가 발생하는 경우(메모리 부족 상태 때문일 수 있음) 운영 체제에서 드라이버에 오류에 대해 알릴 수 없습니다. 이 이벤트 알림의 비동기 특성으로 인해 요청 애플리케이션에 이벤트 배달이 보장되지 않습니다. 요청하는 애플리케이션까지 이벤트 정보가 손실되면 애플리케이션은 손실된 이벤트에서 복구할 수 있어야 합니다.
디바이스 이벤트를 만드는 방법에 대한 자세한 내용은 UMDF 드라이버 디바이스 인터페이스 사용참조하세요.
요구 사항
요구 | 값 |
---|---|
지원 종료 | UMDF 2.0 이상에서는 사용할 수 없습니다. |
대상 플랫폼 | 바탕 화면 |
최소 UMDF 버전 | 1.5 |
헤더 | wudfddi.h(Wudfddi.h 포함) |
DLL | WUDFx.dll |