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
目标平台 Windows
标头 d3dkmthk.h (包括 D3dkmthk.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

D3DKMT_ENUMADAPTERS2

PFND3DKMT_ENUMADAPTERS2

D3DKMTCloseAdapter