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)

另请参阅

DdGetDriverInfo