다음을 통해 공유


EngWaitForSingleObject 함수(winddi.h)

EngWaitForSingleObject 함수는 지정된 이벤트 개체가 신호된 상태로 설정되거나 대기 시간이 초과될 때까지 디스플레이 드라이버의 현재 스레드를 대기 상태로 전환합니다.

구문

ENGAPI BOOL EngWaitForSingleObject(
  [in] PEVENT         pEvent,
  [in] PLARGE_INTEGER pTimeOut
);

매개 변수

[in] pEvent

초기화된 이벤트 개체에 대한 포인터입니다. 이 이벤트 개체 핸들은 EngCreateEvent에 대한 이전 호출에서 가져옵니다.

[in] pTimeOut

(선택 사항) 대기가 완료될 절대 또는 상대 시간을 지정하는 제한 시간 값에 대한 포인터입니다. 음수 값은 현재 시간을 기준으로 간격을 지정합니다. 값은 100나노초 단위로 표현되어야 합니다. 절대 만료 시간은 시스템 시간의 변경 내용을 추적합니다. 상대 만료 시간은 시스템 시간 변경의 영향을 받지 않습니다. pTimeOutNULL인 경우 호출 스레드는 이벤트 개체가 신호를 수신할 때까지 대기 상태로 유지됩니다.

반환 값

EngWaitForSingleObject 는 성공 시 TRUE 를 반환하며, 여기에는 제한 시간이 발생합니다. 그렇지 않으면 FALSE를 반환 합니다. FALSE의 반환 값은 매개 변수 중 하나가 잘못되었음을 나타냅니다.

설명

EngWaitForSingleObject 를 사용하면 디스플레이 드라이버 스레드가 대기 상태로 전환됩니다. 표시 드라이버 스레드는 이벤트 개체가 신호된 상태로 설정되거나 대기 시간이 초과될 때까지 대기 상태로 유지됩니다. 시간 제한 값이 제공되지 않으면 이벤트 개체가 신호 상태로 설정될 때까지 디스플레이 드라이버 스레드가 대기 상태로 유지됩니다.

대기가 충족되면 동기화 이벤트가 자동으로 서명되지 않은 상태로 다시 설정됩니다. 따라서 EngSetEvent 또는 VideoPortSetEvent 호출당 하나의 대기만 충족됩니다. 반면 알림 이벤트는 자동으로 다시 설정되지 않습니다.

시간 제한 값이 0이면 드라이버가 대기 조건을 테스트하고 대기가 즉시 충족될 수 있는 경우 조건부로 부작용을 수행할 수 있습니다.

디스플레이 드라이버는 EngWaitForSingleObject 를 이벤트 개체와 호출하고 미니포트 드라이버가 이벤트 개체를 신호 상태로 설정할 때까지 대기하여 자체 및 비디오 미니포트 드라이버 간에 그리기 작업을 동기화할 수 있습니다.

드라이버는 EngMapEvent에서 반환된 이벤트에서 EngWaitForSingleObject를 호출할 수 없습니다.

요구 사항

   
지원되는 최소 클라이언트 이 함수는 Windows XP 이상에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 winddi.h(Winddi.h 포함)
라이브러리 Win32k.lib
DLL Win32k.sys

추가 정보

EngCreateEvent

EngSetEvent

VideoPortSetEvent