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,则数组包含单个元素,并接收以下值之一以指示资源的驻留状态。 如果 hResourceNULL,则数组中的元素数由 NumAllocations 成员指定,并且每个元素都接收以下值之一,以指示 HandleList指定的数组中相应分配的驻留状态。

含义
D3DDDI_RESIDENCYSTATUS_RESIDENTINGPUMEMORY (1) 分配的资源或列表驻留在 GPU 内存中,这是最高驻留状态。
D3DDDI_RESIDENCYSTATUS_RESIDENTINSHAREDMEMORY (2) 分配的资源或列表驻留在共享内存中。
D3DDDI_RESIDENCYSTATUS_NOTRESIDENT (3) 分配的资源或列表不相称,这是最低驻留状态。

要求

要求 价值
最低支持的客户端 在 Windows Vista 和更高版本的 Windows作系统中可用。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

pfnQueryResidencyCb