DrvSynchronizeSurface 함수(winddi.h)
DrvSynchronizeSurface 함수는 지정된 표면에 GDI를 작성해야 한다고 드라이버에 알립니다. 이 함수를 사용하면 디바이스의 공동 프로세서에서 수행하는 그리기 작업을 GDI와 조정할 수 있습니다.
구문
void DrvSynchronizeSurface(
SURFOBJ *pso,
RECTL *prcl,
FLONG fl
);
매개 변수
pso
그리기 동기화가 수행되는 표면을 식별하는 SURFOBJ 구조체에 대한 포인터입니다.
prcl
GDI가 그릴 표면 또는 NULL을 나타내는 RECTL 구조를 지정합니다. 이 작업이 진행 중인 그리기 작업과 충돌하지 않는 경우 드라이버는 공동 프로세서가 완료되는 것을 기다리지 않고 GDI를 그릴 수 있도록 선택할 수 있습니다.
fl
GDI가 동기화 요청을 만드는 이벤트를 지정하는 플래그입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
DSS_TIMER_EVENT
GDI는 동기화 타이머 이벤트로 인해 이 함수를 호출합니다. 타이머 이벤트는 DEVINFO 구조체의 GCAPS2_SYNCTIMER 비트를 지정하는 드라이버에 대해서만 생성됩니다.
DSS_FLUSH_EVENT
GDI는 동기화 플러시 이벤트로 인해 이 함수를 호출합니다. 이러한 플러시 이벤트는 DEVINFO 구조체의 GCAPS2_SYNCFLUSH 비트를 지정하는 드라이버에 대해서만 생성됩니다.
반환 값
없음
설명
이 함수를 사용하면 디바이스의 공동 프로세서에서 수행하는 그리기 작업을 GDI와 조정할 수 있습니다.
DrvSynchronizeSurface 는 디스플레이 드라이버에서 선택적으로 구현할 수 있습니다. GDI는 EngAssociateSurface에 의해 후크된 경우에만 이 함수를 호출합니다. GDI는 디바이스 표면에 직접 그리기 직전에 DrvSynchronizeSurface 를 호출합니다.
DrvSynchronizeSurface 는 그리기에 공동 프로세서를 사용하는 디바이스를 지원하기 위한 것입니다. 이러한 디바이스는 긴 그리기 작업을 시작하고 작업이 계속되는 동안 GDI로 돌아갈 수 있습니다. 디바이스 드라이버가 표면에 대한 모든 그리기 작업을 수행하지 않는 경우 GDI에서 후속 그리기 작업을 처리할 수 있습니다. 이 경우 GDI가 표면에 그릴 수 있기 전에 공동 프로세서가 작업을 완료할 때까지 GDI가 대기해야 합니다.
이 함수는 GDI가 prcl로 지정된 사각형 영역 내에서 표면에 그리는 것이 안전한 경우 를 반환해야 합니다.
DrvSynchronizeSurface 자체는 출력 함수가 아닙니다.
요구 사항
대상 플랫폼 | 데스크톱 |
머리글 | winddi.h(Winddi.h 포함) |