다음을 통해 공유


DrvSynchronize 함수(winddi.h)

DrvSynchronize 함수는 GDI가 디바이스 관리 표면에 액세스해야 한다고 드라이버에 알립니다. 이 함수를 사용하면 디바이스의 공동 프로세서에서 수행하는 비동기 그리기 작업을 GDI 액세스와 조정할 수 있습니다.

구문

void DrvSynchronize(
  DHPDEV dhpdev,
  RECTL  *prcl
);

매개 변수

dhpdev

GDI와 동기화할 디바이스를 식별하는 물리적 디바이스의 PDEV 구조에 대한 핸들입니다. 이 매개 변수는 DrvEnablePDEV에서 GDI로 반환되는 디바이스 핸들입니다.

prcl

RECTL 구조체에 대한 포인터입니다. 이 매개 변수는 드라이버에서 무시해야 합니다.

반환 값

없음

설명

이 함수를 사용하면 디바이스의 공동 프로세서에서 수행하는 비동기 그리기 작업을 GDI 액세스와 조정할 수 있습니다.

DrvSynchronize 는 디스플레이 드라이버에서 선택적으로 구현할 수 있습니다. GDI는 EngAssociateSurface에 의해 후크된 경우에만 이 함수를 호출합니다. GDI는 디바이스 표면에 직접 그리기 직전에 DrvSynchronize 를 호출합니다. GDI는 이러한 두 함수를 모두 구현하는 드라이버에서 DrvSynchronize 대신 DrvSynchronizeSurface를 호출합니다.

이 함수는 GDI가 디바이스 관리 표면에 액세스하는 것이 안전한 경우에만 를 반환해야 합니다. 즉, DrvSynchronize 는 디바이스의 공동 프로세서에서 모든 비동기 그리기 작업이 완료될 때까지 호출에서 반환을 지연해야 하므로 GDI가 디바이스 관리 표면에 액세스하는 것이 안전하다는 것을 나타냅니다.

DrvSynchronize 는 그리기에 공동 프로세서를 사용하는 디바이스를 지원하기 위한 것입니다. 이러한 디바이스는 일부 그리기 작업을 비동기식으로 처리하여 드로잉이 완료되기 전에 작업에서 GDI로 돌아갈 수 있습니다. 이 경우 GDI에서 후속 그리기 작업을 처리할 수 있습니다. GDI가 디바이스 관리 표면에 안전하게 액세스하려면 디바이스의 공동 프로세서에서 수행하는 모든 비동기 렌더링 이 완료되도록 하는 수단이 있어야 합니다. GDI는 이 함수를 호출하여 디바이스 관리 화면에 대한 액세스를 드라이버와 동기화합니다.

GDI는 디바이스 관리 표면에 대해 DrvSynchronize 를 호출하지 않습니다. DrvSynchronize 자체는 출력 함수가 아닙니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 winddi.h(Winddi.h 포함)

추가 정보

DrvEnablePDEV

DrvSynchronizeSurface

EngAssociateSurface