다음을 통해 공유


IDXGIFactory::EnumAdapters 메서드(dxgi.h)

어댑터(비디오 카드)를 열거합니다.

구문

HRESULT EnumAdapters(
        UINT         Adapter,
  [out] IDXGIAdapter **ppAdapter
);

매개 변수

Adapter

형식: UINT

열거할 어댑터의 인덱스입니다.

[out] ppAdapter

형식: IDXGIAdapter**

어댑터 매개 변수로 지정된 위치에 있는 IDXGIAdapter 인터페이스에 대한 포인터의 주소입니다. 이 매개 변수는 NULL이 아니어야 합니다.

반환 값

형식: HRESULT

성공하면 S_OK 반환합니다. 그렇지 않으면 인덱스가 로컬 시스템의 어댑터 수보다 크거나 같으면 DXGI_ERROR_NOT_FOUND 반환하고, ppAdapter 매개 변수가 NULL이면 DXGI_ERROR_INVALID_CALL 반환합니다.

설명

팩터리를 만들 때 팩터리는 시스템에서 사용할 수 있는 어댑터 집합을 열거합니다. 따라서 시스템에서 어댑터를 변경하는 경우 IDXGIFactory 개체를 삭제하고 다시 만들어야 합니다. 디스플레이 카드 추가 또는 제거하거나 노트북을 도킹하거나 도킹 해제할 때 시스템의 어댑터 수가 변경됩니다.

EnumAdapters 메서드가 성공하고 ppAdapter 매개 변수를 어댑터 인터페이스에 대한 포인터의 주소로 채우면 EnumAdapters는 어댑터 인터페이스의 참조 횟수를 증가합니다. 어댑터 인터페이스 사용을 마치면 포인터를 삭제하기 전에 Release 메서드를 호출하여 참조 수를 감소합니다.

EnumAdapters는 먼저 데스크톱 주 데이터베이스가 표시되는 출력이 있는 어댑터를 반환합니다. 이 어댑터는 인덱스 0에 해당합니다. EnumAdapters 는 다음으로 출력이 있는 다른 어댑터를 반환합니다. EnumAdapters 는 마지막으로 출력 없이 어댑터를 반환합니다.

예제

어댑터 열거

다음 코드 예제에서는 EnumAdapters 메서드를 사용하여 어댑터를 열거하는 방법을 보여 줍니다.


UINT i = 0; 
IDXGIAdapter * pAdapter; 
std::vector <IDXGIAdapter*> vAdapters; 
while(pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND) 
{ 
	vAdapters.push_back(pAdapter); 
	++i; 
} 

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 dxgi.h
라이브러리 DXGI.lib

추가 정보

DXGI 인터페이스

IDXGIFactory