DXGKCB_ENUMHANDLECHILDREN回调函数 (d3dkmddi.h)

DXGKCB_ENUMHANDLECHILDREN 枚举与给定资源关联的分配,一次一个分配。

语法

DXGKCB_ENUMHANDLECHILDREN DxgkcbEnumhandlechildren;

D3DKMT_HANDLE DxgkcbEnumhandlechildren(
  [in] IN_CONST_PDXGKARGCB_ENUMHANDLECHILDREN unnamedParam1
)
{...}

参数

[in] unnamedParam1

指向描述要检索的子分配的父资源和索引的 DXGKARGCB_ENUMHANDLECHILDREN 结构的指针。

返回值

DXGKCB_ENUMHANDLECHILDRENDxgkrnl特定句柄返回到 pData 描述的子分配。 若要检索句柄的特定于设备的 数据,显示微型端口驱动程序必须调用 DXGKCB_GETHANDLEDATA 函数。

如果 索引中提供的子分配索引值DXGKARGCB_ENUMHANDLECHILDREN 结构的成员超过了与父资源关联的分配数,DXGKCB_ENUMHANDLECHILDREN 将返回 NULL 句柄。 如果 DXGKCB_ENUMHANDLECHILDREN 意外返回 NULL 句柄,则 DirectX 图形内核子系统无法将句柄解析为父资源,原因如下:

  • 由于恶意攻击或其他 bug,从用户模式显示驱动程序收到无效句柄。
  • 分配有生存期问题。

如果 NULL 句柄意外返回,则显示微型端口驱动程序应失败其当前运行的 DDI 函数并STATUS_INVALID_HANDLE。

言论

显示微型端口驱动程序可以在循环中调用 DXGKCB_ENUMHANDLECHILDREN 来枚举与资源关联的所有分配。

分配句柄索引从零开始。 如果显示微型端口驱动程序将 pData->Index 设置为 0,DXGKCB_ENUMHANDLECHILDREN 返回第一个分配句柄;如果 索引 设置为 1,DXGKCB_ENUMHANDLECHILDREN 返回第二个分配句柄;等等。 如果 索引 大于与资源关联的分配数,DXGKCB_ENUMHANDLECHILDREN 返回 NULL

DXGKCB_XXX 函数由 Dxgkrnl实现。 若要使用此回调函数,请设置 DXGKARGCB_ENUMHANDLECHILDREN 的相应成员,然后通过 DXGKRNL_INTERFACE调用 DxgkCbEnumHandleChildren

要求

要求 价值
最低支持的客户端 Windows Vista (WDDM 1.0)
目标平台 桌面
标头 d3dkmddi.h (包括 D3dkmddi.h)
IRQL PASSIVE_LEVEL

另请参阅

DXGKARGCB_ENUMHANDLECHILDREN

DXGKCB_GETHANDLEDATA

DXGKRNL_INTERFACE