D3DDDICB_QUERYRESIDENCY 结构 (d3dumddi.h)
D3DDDICB_QUERYRESIDENCY结构描述资源或分配列表的驻留状态。
语法
typedef struct _D3DDDICB_QUERYRESIDENCY {
[in] HANDLE hResource;
[in] UINT NumAllocations;
[in] const D3DKMT_HANDLE *HandleList;
[out] D3DDDI_RESIDENCYSTATUS *pResidencyStatus;
} D3DDDICB_QUERYRESIDENCY;
成员
[in] hResource
要查询其驻留的资源的句柄。 如果用户模式显示驱动程序使用 HandleList 成员中的 数组来查询驻留,则会将 hResource 设置为 NULL。
如果 hResource 为非 NULL,则查询属于该资源的所有分配,并在 pResidencyStatus 指向的数组的第一个元素中返回结果。 资源的驻留状态等于属于该资源的所有分配的最低驻留状态。
[in] NumAllocations
HandleList 数组中的分配数。 如果用户模式显示驱动程序将 hResource 成员中的句柄设置为非 NULL,则必须将 NumAllocations 设置为零。
[in] HandleList
表示分配的内核模式句柄的D3DKMT_HANDLE数据类型数组。 Microsoft Direct3D 运行时的 pfnAllocateCb 函数返回这些句柄。 因此,用户模式显示驱动程序使用这些句柄来查询驻留。
如果用户模式显示驱动程序将 hResource 成员中的句柄设置为非 NULL,则必须将 HandleList 设置为 NULL。
[out] pResidencyStatus
指向D3DDDI_RESIDENCYSTATUS值数组的指针。 如果 hResource 成员为非 NULL,则数组包含单个元素,并接收以下值之一来指示资源的驻留状态。 如果 hResource 为 NULL,则数组中的元素数由 NumAllocations 成员指定,并且每个元素都会收到以下值之一,以指示 HandleList 指定的数组中相应分配的驻留状态。
值 | 含义 |
---|---|
D3DDDI_RESIDENCYSTATUS_RESIDENTINGPUMEMORY (1) | 资源或分配列表驻留在 GPU 内存中,这是最高的驻留状态。 |
D3DDDI_RESIDENCYSTATUS_RESIDENTINSHAREDMEMORY (2) | 资源或分配列表驻留在共享内存中。 |
D3DDDI_RESIDENCYSTATUS_NOTRESIDENT (3) | 资源或分配列表是非居住的,这是最低的驻留状态。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
标头 | d3dumddi.h (包括 D3dumddi.h) |