DdQueryDirectDrawObject 函数 (ddrawgdi.h)
[此函数可能会随每个操作系统修订而更改。 请改用 Microsoft DirectDraw 和 Microsoft Direct3DAPIs;这些 API 使应用程序不受此类操作系统更改影响,并隐藏了与显示驱动程序直接交互所涉及的许多其他困难。]
NtGdiDdQueryDirectDrawObject 函数的包装器,并查询以前创建的内核模式表示功能。
GdiEntry2 定义为此函数的别名。
语法
BOOL DdQueryDirectDrawObject(
LPDDRAWI_DIRECTDRAW_GBL pDirectDrawGlobal,
LPDDHALINFO pHalInfo,
LPDDHAL_DDCALLBACKS pDDCallbacks,
LPDDHAL_DDSURFACECALLBACKS pDDSurfaceCallbacks,
LPDDHAL_DDPALETTECALLBACKS pDDPaletteCallbacks,
LPD3DHAL_CALLBACKS pD3dCallbacks,
LPD3DHAL_GLOBALDRIVERDATA pD3dDriverData,
LPDDHAL_DDEXEBUFCALLBACKS pD3dBufferCallbacks,
LPDDSURFACEDESC pD3dTextureFormats,
LPDWORD pdwFourCC,
LPVIDMEM pvmList
);
参数
pDirectDrawGlobal
指向以前使用 DdCreateDirectDrawObject 为其创建了内核端对象的用户模式 DirectDraw 对象的指针。
pHalInfo
指向将填充设备功能的 DDHALINFO 结构的指针。 有关详细信息,请参阅 DDK 文档。
pDDCallbacks
指向回调指针表的指针。 该表用指向模拟 DirectDraw 显示驱动程序的 Gdi32.dll 中的函数的指针填充。 此回调表与 DDHAL_DDCALLBACKS 结构相同,该结构映射到 DDK 文档中讨论的 DD_CALLBACKS 结构。
pDDSurfaceCallbacks
指向图面回调指针表的指针。 该表用指向模拟 DirectDraw 显示驱动程序的 Gdi32.dll 中的函数的指针填充。 此回调表与 DDHAL_DDSURFACECALLBACKS 结构相同,该结构映射到 DDK 文档中讨论 的 DD_SURFACECALLBACKS 结构。
pDDPaletteCallbacks
指向调色板回调指针表的指针。 该表用指向模拟 DirectDraw 显示驱动程序的 Gdi32.dll 中的函数的指针填充。 此回调表与 DDHAL_DDPALETTECALLBACKS 结构相同,该结构映射到 DDK 文档中讨论 的DD_PALETTECALLBACKS 结构。
pD3dCallbacks
指向 Direct3D 回调指针表的指针。 该表用指向模拟 Direct3D 显示驱动程序的 Gdi32.dll 中的函数的指针填充。 此回调表与 DDK 文档中讨论的 D3DHAL_CALLBACKS 结构相同。
pD3dDriverData
指向 D3DHAL_GLOBALDRIVERDATA 数据的指针,如 DDK 文档中所述。
pD3dBufferCallbacks
指向回调指针表的指针。 该表用指向模拟 Direct3D 显示驱动程序的 Gdi32.dll 中的函数的指针填充。 此回调表与 DDHAL_DDEXEBUFCALLBACKS 结构相同,该结构映射到 DDK 文档中讨论的 DD_D3DBUFCALLBACKS 结构,只不过 DD_D3DBUFCALLBACKS 中的 XxxD3DBuffer 成员将替换为 DDHAL_DDEXEBUFCALLBACKS 中的 XxxExecuteBuffer。
pD3dTextureFormats
指向定义允许纹理格式集的 DDSURFACEDESC 结构的数组的指针。
pdwFourCC
指向支持的 四个字符代码列表的指针 (FOURCC) 图面格式。 可以为 NULL。
pvmList
指向视频内存堆描述符列表的指针。 可以为 NULL。 不使用此参数,因为视频内存管理完全在内核模式下处理。
返回值
如果成功,此函数返回 TRUE;否则返回 FALSE。
注解
此函数的调用设计为在两步过程中进行。 在第一步中,pdwFourCC、pvmList 和 pD3dTextureFormats 应为 NULL,DdQueryDirectDrawObject 将填充 DDHALINFO。ddCaps。dwNumFourCCCodes,DDHALINFO。 vmiData。dwNumHeaps 和 D3DHAL_GLOBALDRIVERDATA。包含要返回的条目数的 dwNumTextureFormats。 第二次调用中,调用方应分配指示大小的数组,并传递这些指针,而不是 pdwFourCC、pvmList 和 pD3dTextureFormats 参数中的 NULL 值。 然后,将使用适当的数据填充数组。
建议应用程序使用 DirectDraw 和 Direct3D API 来创建和管理图形设备对象。 这些构造以简化且与操作系统无关的方式抽象化设备创建过程。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ddrawgdi.h |