D3DKMT_QUERYALLOCATIONRESIDENCY 结构 (d3dkmthk.h)

D3DKMT_QUERYALLOCATIONRESIDENCY结构描述用于从资源或分配列表中检索驻留状态的信息。

语法

typedef struct _D3DKMT_QUERYALLOCATIONRESIDENCY {
  [in]  D3DKMT_HANDLE                    hDevice;
  [in]  D3DKMT_HANDLE                    hResource;
  [in]  const D3DKMT_HANDLE              *phAllocationList;
  [in]  UINT                             AllocationCount;
  [out] D3DKMT_ALLOCATIONRESIDENCYSTATUS *pResidencyStatus;
} D3DKMT_QUERYALLOCATIONRESIDENCY;

成员

[in] hDevice

D3DKMT_HANDLE数据类型,表示与资源或分配列表关联的设备的内核模式句柄。

[in] hResource

要查询其驻留的资源的句柄。 如果 OpenGL ICD 使用 phAllocationList 指定的数组来查询驻留,则会将 hResource 设置为 NULL。 如果 OpenGL ICD 将 hResource 设置为非 NULL 值,则必须将 AllocationCount 成员设置为零, 将 phAllocationList 设置为 NULL

如果 hResource 为非 NULL,则查询属于该资源的所有分配,并在 pResidencyStatus 指向的数组的第一个元素中返回结果。

如果属于该资源的任何分配不是驻留的,则整个资源被视为非驻留资源。

若要检索有关属于某个资源的每个分配的详细驻留信息,必须查询分配。

[in] phAllocationList

表示分配的内核模式句柄的D3DKMT_HANDLE数据类型数组。 OpenGL ICD 使用这些句柄来查询驻留状态。

如果 OpenGL ICD 将 hResource 成员中的句柄设置为非 NULL 值,则必须将 phAllocationList 设置为 NULL

[in] AllocationCount

phAllocationList 指定的数组中的分配数。 如果 OpenGL ICD 将 hResource 成员中的句柄设置为非 NULL 值,则必须将 AllocationCount 设置为零。

[out] pResidencyStatus

指向D3DKMT_ALLOCATIONRESIDENCYSTATUS枚举器数组的指针。 如果 hResource 成员为非 NULL,则数组包含单个元素,并接收下表中列出的一个枚举器,以指示资源的驻留状态。 如果 hResourceNULL,则数组中的元素数由 AllocationCount 成员指定,并且每个元素接收以下枚举器之一,以指示 phAllocationList 数组中相应分配的驻留状态。

枚举器 含义
D3DKMT_ALLOCATIONRESIDENCYSTATUS_RESIDENTINGPUMEMORY (1) 资源或分配驻留在 GPU 内存中。
D3DKMT_ALLOCATIONRESIDENCYSTATUS_RESIDENTINSHAREDMEMORY (2) 资源或分配驻留在共享内存中。
D3DKMT_ALLOCATIONRESIDENCYSTATUS_NOTRESIDENT (3) 资源或分配是非空间的。

要求

要求
最低受支持的客户端 Windows Vista
标头 d3dkmthk.h (包括 D3dkmthk.h)

另请参阅

D3DKMTQueryAllocationResidency