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 |
|
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。
要求
标头 | ddrawint.h (包括 Winddi.h D3dhal.h、D3dtypes.h) |
请参阅
D3DDP2OP_CREATEQUERY
D3DDP2OP_ISSUEQUERY