다음을 통해 공유


DdGetDriverInfo를 사용한 DirectDraw 및 Direct3D 콜백 지원

디스플레이 드라이버는 DdGetDriverInfo 함수를 구현하여 다양한 DirectDraw 및 Direct3D 콜백 지원을 나타낼 수 있습니다. 콜백 지원은 드라이버가 lpGetDriverInfo 매개 변수가 가리키는 DD_GETDRIVERINFODATA 구조체의 guidInfo 멤버에서 수신하는 다음 GUID에 따라 달라집니다. 드라이버는 DirectDraw 또는 Direct3D 콜백 지원을 지정하는 lpvData 멤버의 구조체에 대한 포인터를 반환합니다.

  • 드라이버가 GUID_ColorControlCallbacks GUID를 받으면 DD_COLORCONTROLCALLBACKS 구조체에 대한 포인터를 반환합니다. 색 컨트롤을 지원하는 경우 드라이버는 DD_COLORCONTROLCALLBACKS ColorControl 멤버를 채워 DdControlColor 콜백 함수를 지정합니다.

  • 드라이버가 GUID_D3DCallbacks, GUID_D3DCallbacks3 또는 GUID_Miscellaneous2Callbacks GUID를 받으면 D3DHAL_CALLBACKS, D3DHAL_CALLBACKS3 또는 DD_MISCELLANEOUS2CALLBACKS 구조체에 대한 포인터를 반환합니다. 드라이버는 이러한 구조를 사용하여 Direct3D 콜백 지원을 나타냅니다. 자세한 내용은 Direct3D DDI를 참조하세요.

  • 드라이버가 GUID_KernelCallbacks GUID를 받으면 DD_KERNELCALLBACKS 구조체에 대한 포인터를 반환합니다. 드라이버는 DD_KERNELCALLBACKS 멤버를 채워 다음 콜백 함수를 지원함을 나타냅니다.

    Callback 함수 Description

    DdSyncSurfaceData

    표면 데이터를 설정하고 수정합니다.

    DdSyncVideoPortData

    VPE(비디오 포트 확장) 개체 데이터를 설정하고 수정합니다.

  • 드라이버가 GUID_MiscellaneousCallbacks GUID를 받으면 DD_MISCELLANEOUSCALLBACKS 구조체에 대한 포인터를 반환합니다. DdGetAvailDriverMemory 콜백 함수를 지원하는 경우 드라이버는 DD_MISCELLANEOUSCALLBACKS DdGetAvailDriverMemory 멤버를 채워 DdGetAvailDriverMemory를 지정합니다.

  • 드라이버가 GUID_MotionCompCallbacks GUID를 받으면 DD_MOTIONCOMPCALLBACKS 구조체에 대한 포인터를 반환하여 동작 보정 콜백의 지원을 나타냅니다. 자세한 내용은 압축된 비디오 디코딩을 참조하세요.

  • 드라이버가 GUID_NTCallbacks GUID를 받으면 DD_NTCALLBACKS 구조체에 대한 포인터를 반환합니다. 드라이버는 다음 콜백 함수를 지원함을 나타내기 위해 DD_NTCALLBACKS 멤버를 채웁니다.

    Callback 함수 Description

    DdFlipToGDISurface

    DirectDraw가 GDI 표면으로 또는 GDI 표면에서 대칭 이동 중일 때 드라이버에 알립니다.

    DdFreeDriverMemory

    오프스크린 또는 비로컬 디스플레이 메모리를 해제하여 새 할당 요청을 충족합니다.

    DdSetExclusiveMode

    DirectDraw 애플리케이션이 배타적 모드로 전환할 때 드라이버에 알 수 있습니다.