D3DKMTEnumAdapters2 函数 (d3dkmthk.h)

D3DKMTEnumAdapters2 函数提供用于枚举系统上所有图形和显示适配器的信息。

语法

NTSTATUS D3DKMTEnumAdapters2(
  const D3DKMT_ENUMADAPTERS2 *unnamedParam1
);

参数

unnamedParam1

[in, out]指向 D3DKMT_ENUMADAPTERS2 结构的指针,在该结构中提供有关系统上的适配器的信息。 请参阅“备注”。

返回值

D3DKMTEnumAdapters2 在成功时返回STATUS_SUCCESS,或者返回以下错误之一。

返回代码 描述
STATUS_BUFFER_TOO_SMALL 提供的数组太小,无法接收所有适配器。
STATUS_INVALID_PARAMETER pAdapters 为 NULL,或者为无效的内存区域。
STATUS_NO_MEMORY 无法分配内存来满足操作。

言论

在输入时,NumAdapters 指定 pAdapters 指向的空数组中可以返回多少个适配器。 返回时,如果 D3DKMT_ENUMADAPTERS2 返回STATUS_SUCCESS:

  • 如果 pAdapters 为非 NULL,NumAdapters 将包含 pAdapters 数组中返回的适配器数。
  • 如果 pAdapters 为 NULL,NumAdapters 将包含支持的最大适配器计数。

如果 D3DKMT_ENUMADAPTERS2 返回错误,则未定义 NumAdapters

D3DKMTEnumAdapters2 通常调用两次:

  • 对于第一次调用,请将 pAdapters 设置为 NULL。 D3DKMTEnumAdapters2 将在 NumAdapters中写入支持的最大适配器计数。

  • 对于第二次调用,请将 NumAdapters 设置为第一次调用中返回的值,并将 pAdapters 设置为指向 NumAdaptersD3DKMT_ENUMADAPTERS2 结构的数组。 D3DKMTEnumAdapters2 将填充数组,并传回它填充的数组结构(适配器)的数量。

D3DKMTEnumAdapters2 的调用方成功收到适配器的枚举后,调用方负责管理适配器D3DKMT_HANDLEs的寿命。 这些句柄通过 pAdapters返回,并且必须使用 D3DKMTCloseAdapter关闭这些句柄。

要求

要求 价值
最低支持的客户端 Windows 8
支持的最低服务器 Windows Server 2012
目标平台 窗户
标头 d3dkmthk.h (包括 D3dkmthk.h)
Gdi32.lib
DLL Gdi32.dll

另请参阅

D3DKMT_ENUMADAPTERS2

PFND3DKMT_ENUMADAPTERS2

D3DKMTCloseAdapter