D3DKMTEnumAdapters3 - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// d3dkmthk.h

NTSTATUS D3DKMTEnumAdapters3(
  [in/out] D3DKMT_ENUMADAPTERS3 *unnamedParam1
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-d3dkmthk-d3dkmtenumadapters3)

D3DKMTEnumAdapters3 function

Description

Supplies information for enumerating graphics and display adapters on the system.

Parameters

unnamedParam1 [in/out]

A D3DKMT_ENUMADAPTERS3 structure. The caller passes in the array size and an empty array space. The callee verifies that there is enough room in the array, fills out the array, and passes back how much of the array was used.

Return value

This function returns NTSTATUS.

Return Code Description
STATUS_BUFFER_TOO_SMALL The provided array is too small to receive all the adapters.
STATUS_INVALID_PARAMETER The pEnumAdapters member is null or is otherwise an invalid memory region.
STATUS_NO_MEMORY Memory cannot be allocated to satisfy the operation.

Remarks

When D3DKMT_ENUMADAPTERS3::pAdapters is null, D3DKMT_ENUMADAPTERS3::NumAdapters is set to the maximum supported adapter count. Callees will commonly invoke the method, first, to retrieve the maximum supported adapter count.

When the callee successfully enumerates adapters, it becomes responsible for explicitly managing the lifespan of adapter D3DKMT_HANDLEs. These handles are returned to the callee through pEnumAdapters, and they must be closed with D3DKMTCloseAdapter.

Setting none of the D3DKMT_ENUMADAPTERS3::Filter flags will still enumerate adapters, but there are fewer adapters than D3DKMTEnumAdapters2 enumerates. ComputeOnly adapters are left out of the default enumeration, to avoid breaking applications. DisplayOnly adapters are also left out of the default enumeration.

See also

D3DKMT_ENUMADAPTERS3

D3DKMTCloseAdapter

PFND3DKMT_ENUMADAPTERS3

D3DKMTCloseAdapter