DD_GETDRIVERINFODATA 结构 (ddrawint.h)
DD_GETDRIVERINFODATA 结构用于将数据传入和传出 DdGetDriverInfo 回调例程。
语法
typedef struct _DD_GETDRIVERINFODATA {
VOID *dhpdev;
DWORD dwSize;
DWORD dwFlags;
GUID guidInfo;
DWORD dwExpectedSize;
PVOID lpvData;
DWORD dwActualSize;
HRESULT ddRVal;
} *PDD_GETDRIVERINFODATA, DD_GETDRIVERINFODATA;
成员
dhpdev
驱动程序 的 PDEV 的句柄。 仅限 Microsoft Windows 2000 及更高版本。
dwSize
指定此DD_GETDRIVERINFODATA结构的大小(以字节为单位)。
dwFlags
当前未使用,设置为零。
guidInfo
指定要查询驱动程序的 Microsoft DirectX 支持的 GUID。 在 Windows 2000 及更高版本的 Microsoft DirectDraw 驱动程序中,此成员可以是以下值之一,按字母顺序 () :
GUID | 描述 |
---|---|
GUID_ColorControlCallbacks | 查询驱动程序是否支持 DdControlColor。 如果驱动程序确实支持它,则驱动程序应在 lpvData 指向的缓冲区中初始化并返回DD_COLORCONTROLCALLBACKS结构。 |
GUID_D3DCallbacks | 查询驱动程序是否支持通过 D3DHAL_CALLBACKS 结构指定的任何功能。 如果驱动程序不提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回D3DHAL_CALLBACKS结构。 |
GUID_D3DCallbacks2 | 已过时。 |
GUID_D3DCallbacks3 | 查询驱动程序是否支持通过 D3DHAL_CALLBACKS3 结构指定的任何功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回D3DHAL_CALLBACKS3结构。 |
GUID_D3DCaps | 已过时。 |
GUID_D3DExtendedCaps | 查询驱动程序是否支持通过 D3DHAL_D3DEXTENDEDCAPS 结构指定的任何 Microsoft Direct3D 功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回D3DHAL_D3DEXTENDEDCAPS结构。 |
GUID_D3DParseUnknownCommandCallback | 为驱动程序的 Direct3D 部分提供 Direct3D 运行时的 D3dParseUnknownCommandCallback。 驱动程序的 D3dDrawPrimitives2 回调调用 D3dParseUnknownCommandCallback ,以从驱动程序不理解的命令缓冲区分析命令。DirectDraw 在 lpvData 指向的缓冲区中传递指向此函数的指针。 如果驱动程序支持 Direct3D 的这一方面,则应存储指针。 |
GUID_GetHeapAlignment | 查询驱动程序是否支持每个堆的表面对齐要求。 如果驱动程序确实提供此支持,则应在 lpvData 指向的缓冲区中初始化并返回DD_GETHEAPALIGNMENTDATA结构。 |
GUID_KernelCallbacks | 查询驱动程序是否支持通过 DD_KERNELCALLBACKS 结构指定的任何功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回DD_KERNELCALLBACKS结构。 |
GUID_KernelCaps | 查询驱动程序是否支持通过 DDKERNELCAPS 结构指定的任何内核模式功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回 DDKERNELCAPS 结构。 |
GUID_MiscellaneousCallbacks | 查询驱动程序是否支持 DdGetAvailDriverMemory。 如果驱动程序确实支持它,则驱动程序应在 lpvData 指向的缓冲区中初始化并返回DD_MISCELLANEOUSCALLBACKS结构。 |
GUID_Miscellaneous2Callbacks | 查询驱动程序是否支持 DD_MISCELLANEOUS2CALLBACKS 结构中指定的其他功能。 如果驱动程序确实支持任何此支持,则驱动程序应在 lpvData 指向的缓冲区中初始化并返回DD_MISCELLANEOUS2CALLBACKS结构。 |
GUID_MotionCompCallbacks | 查询驱动程序是否支持通过 DD_MOTIONCOMPCALLBACKS 结构指定的运动补偿功能。 如果驱动程序确实提供了任何此支持,则 应初始化 lpvData 指向的缓冲区中并返回DD_MOTIONCOMPCALLBACKS结构。 |
GUID_NonLocalVidMemCaps | 查询驱动程序是否支持通过 DD_NONLOCALVIDMEMCAPS 结构指定的任何非本地显示内存功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回DD_NONLOCALVIDMEMCAPS结构。 |
GUID_NTCallbacks | 查询驱动程序是否支持通过 DD_NTCALLBACKS 结构指定的任何功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回DD_NTCALLBACKS结构。 |
GUID_NTPrivateDriverCaps | 查询驱动程序是否支持通过 DD_NTPRIVATEDRIVERCAPS 结构指定的 Windows 98/Me 样式图面创建技术。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回DD_NTPRIVATEDRIVERCAPS结构。 |
GUID_UpdateNonLocalHeap | 查询驱动程序是否支持依次检索每个非本地堆的基址。 如果驱动程序确实提供此支持,则应在 lpvData 指向的缓冲区中初始化并返回DD_UPDATENONLOCALHEAPDATA结构。 |
GUID_VideoPortCallbacks | 查询驱动程序是否支持 VPE) 的视频端口扩展 (。 如果驱动程序确实支持 VPE,则应在 lpvData 指向的缓冲区中初始化并返回DD_VIDEOPORTCALLBACKS结构。 |
GUID_VideoPortCaps | 查询驱动程序是否支持通过 DDVIDEOPORTCAPS 结构指定的任何 VPE 对象功能。 如果驱动程序确实提供任何此支持,则应在 lpvData 指向的缓冲区中初始化并返回 DDVIDEOPORTCAPS 结构。 |
GUID_ZPixelFormats | 查询深度缓冲区支持的像素格式。 如果驱动程序支持 Direct3D,则它应为其支持的每个 z 缓冲区格式分配和初始化 DDPIXELFORMAT 结构的相应成员,并在 lpvData 指向的缓冲区中返回这些成员。 |
dwExpectedSize
指定 DirectDraw 要求驱动程序传回 lpvData 指向的缓冲区中的数据字节数。
lpvData
指向 DirectDraw 分配的缓冲区,驱动程序将请求的数据复制到其中。 此缓冲区的大小通常为 dwExpectedSize 字节。 驱动程序中写入的数据字节不得超过 dwExpectedSize 字节。 驱动程序指定写入 dwActualSize 成员中此缓冲区的字节数。
dwActualSize
指定驱动程序返回它在 lpvData 中写入的数据字节数的位置。
ddRVal
指定驱动程序写入 DdGetDriverInfo 回调的返回值的位置。 返回代码DD_OK表示成功。 有关详细信息,请参阅 DirectDraw 的返回值。
注解
传递给 DdGetDriverInfo 调用的驱动程序的数据结构在 Windows 98/Me 和 Windows 2000 及更高版本之间有细微差异。 在 Windows 2000 及更高版本上,数据结构称为DD_GETDRIVERINFODATA,在 Windows 98/Me 上,数据结构称为DDHAL_GETDRIVERINFODATA。 这两个数据结构都包含特定于驱动程序的上下文信息的字段。 在 Windows 2000 及更高版本上,DD_GETDRIVERINFODATA包含一个用于存储所调用驱动程序的 DHPDEV 的字段 dhpdev 。 仅在 Windows 98/Me 上,DDHAL_GETDRIVERINFODATA包含为 DirectDraw 全局对象的驱动程序保留 dwReserved3 字段复制的字段 dwContext。
要求
要求 | 值 |
---|---|
Header | ddrawint.h (包括 Winddi.h) |