DD_GETDRIVERSTATEDATA 结构 (ddrawint.h)

DD_GETDRIVERSTATEDATA结构描述驱动程序的状态。

语法

typedef struct _DD_GETDRIVERSTATEDATA {
  DWORD   dwFlags;
  union {
    PDD_DIRECTDRAW_GLOBAL lpDD;
    DWORD_PTR             dwhContext;
  };
  LPDWORD lpdwStates;
  DWORD   dwLength;
  HRESULT ddRVal;
} *PDD_GETDRIVERSTATEDATA, DD_GETDRIVERSTATEDATA;

成员

dwFlags

指定指示所请求数据的标志集。 此参数可以设置为以下标志之一:

标志 含义
D3DDEVINFOID_D3DTEXTUREMANAGER 请求 Direct3D 运行时在D3DDEVINFO_TEXTUREMANAGER结构中执行的纹理管理信息。
D3DDEVINFOID_TEXTUREMANAGER 请求驱动程序或 Direct3D 运行时在D3DDEVINFO_TEXTUREMANAGER结构中执行的纹理管理信息。
D3DDEVINFOID_TEXTURING 请求D3DDEVINFO_TEXTURING结构中应用程序的纹理活动信息。
D3DDEVINFOID_VCACHE
仅限 DirectX 8.1 版本
请求D3DDEVINFO_VCACHE结构中的顶点缓存信息。

lpDD

指向描述设备的 DD_DIRECTDRAW_GLOBAL 结构。

dwhContext

指定要为其请求信息的上下文的 ID。

lpdwStates

指向要由驱动程序填充的 Direct3D 驱动程序状态数据。 例如,如果在 dwFlags 成员中指定了D3DDEVINFOID_VCACHE,驱动程序会将 lpdwStates 成员指向包含顶点缓存信息的D3DDEVINFO_VCACHE结构。

dwLength

指定要由驱动程序填充的状态数据的长度(以字节为单位)。

ddRVal

指定驱动程序写入 D3dGetDriverState 回调的返回值的位置。 返回代码D3D_OK表示成功。 有关详细信息,请参阅 Direct3D 驱动程序回调的返回代码

备注

应用程序可以使用 IDirect3DDevice7::GetInfo 方法指定D3DDEVINFOID_D3DTEXTUREMANAGER、D3DDEVINFOID_TEXTUREMANAGER和D3DDEVINFOID_TEXTURING标志来检索纹理信息。 有关此方法以及与这些标志相关的结构的详细信息,请参阅 DirectX SDK 文档。 然后,运行时将这些标志传递给驱动程序。

仅限 DirectX 8.1 版本。Direct3D 运行时指定 dwFlags 成员中的D3DDEVINFOID_VCACHE标志,以从 lpDD 成员指定的驱动程序中检索顶点缓存信息。 驱动程序在 D3DDEVINFO_VCACHE 结构中指定此信息,并在 lpdwStates 成员处返回此信息。

仅限 DirectX 9.0 及更高版本。 Direct3D 运行时使用 D3DDP2OP_CREATEQUERY 和 D3DDP2OP_ISSUEQUERY 命令以及调用驱动程序的 D3dDrawPrimitives2 回调中的D3DQUERYTYPE_VCACHE查询类型,异步查询驱动程序以获取顶点缓存信息。 有关详细信息,请参阅 D3DDEVINFO_VCACHE

注意 D3DDEVINFOID_VCACHE标志在 d3dhal.h 中定义;可以在 dwFlags 中设置的其他标志在 d3dtypes.h 中定义。
 

要求

   
标头 ddrawint.h (包括 Winddi.h D3dhal.h、D3dtypes.h)

请参阅

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3dDrawPrimitives2

D3dGetDriverState

DD_DIRECTDRAW_GLOBAL