DirectDraw and Direct3D Callback Support Using DdGetDriverInfo
The display driver can implement the DdGetDriverInfo function to indicate various DirectDraw and Direct3D callback support. Callback support is contingent on the following GUIDs that the driver receives in the guidInfo member of the DD_GETDRIVERINFODATA structure, to which the lpGetDriverInfo parameter points. The driver returns a pointer to a structure in the lpvData member that specifies DirectDraw or Direct3D callback support.
If the driver receives the GUID_ColorControlCallbacks GUID, it returns a pointer to the DD_COLORCONTROLCALLBACKS structure. If it supports color control, the driver fills the ColorControl member of DD_COLORCONTROLCALLBACKS to specify its DdControlColor callback function.
If the driver receives the GUID_D3DCallbacks, GUID_D3DCallbacks3, or GUID_Miscellaneous2Callbacks GUID, it returns a pointer to the D3DHAL_CALLBACKS, D3DHAL_CALLBACKS3, or DD_MISCELLANEOUS2CALLBACKS structure. The driver uses these structures to indicate its Direct3D callback support. For more information, see Direct3D DDI.
If the driver receives the GUID_KernelCallbacks GUID, it returns a pointer to the DD_KERNELCALLBACKS structure. The driver fills members of DD_KERNELCALLBACKS to indicate that it supports the following callback functions.
Callback Function Description Sets and modifies surface data.
Sets and modifies video port extensions (VPE) object data.
If the driver receives the GUID_MiscellaneousCallbacks GUID, it returns a pointer to the DD_MISCELLANEOUSCALLBACKS structure. If it supports a DdGetAvailDriverMemory callback function, the driver fills the DdGetAvailDriverMemory member of DD_MISCELLANEOUSCALLBACKS to specify DdGetAvailDriverMemory.
If the driver receives the GUID_MotionCompCallbacks GUID, it returns a pointer to the DD_MOTIONCOMPCALLBACKS structure to indicate its support of motion compensation callbacks. For more information, see Compressed Video Decoding.
If the driver receives the GUID_NTCallbacks GUID, it returns a pointer to the DD_NTCALLBACKS structure. The driver fills members of DD_NTCALLBACKS to indicate that it supports the following callback functions.
Callback Function Description Notifies the driver when DirectDraw is flipping to or from a GDI surface.
Frees offscreen or nonlocal display memory to satisfy a new allocation request.
Notifies the driver when a DirectDraw application is switching to or from exclusive mode.
- If the driver receives the GUID_VideoPortCallbacks GUID, it returns a pointer to the DD_VIDEOPORTCALLBACKS structure to indicate its support of VPE Callback Functions. For more information, see Video Port Extensions to DirectX.