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