Método IDXGIFactory1::EnumAdapters1 (dxgi.h)

Enumera ambos os adaptadores (placas de vídeo) com ou sem saídas.

Sintaxe

HRESULT EnumAdapters1(
        UINT          Adapter,
  [out] IDXGIAdapter1 **ppAdapter
);

Parâmetros

Adapter

Tipo: UINT

O índice do adaptador a ser enumerado.

[out] ppAdapter

Tipo: IDXGIAdapter1**

O endereço de um ponteiro para uma interface IDXGIAdapter1 na posição especificada pelo parâmetro Adapter .
Esse parâmetro não deve ser NULL.

Valor retornado

Tipo: HRESULT

Retorna S_OK se tiver êxito; caso contrário, retornará DXGI_ERROR_NOT_FOUND se o índice for maior ou igual ao número de adaptadores no sistema local ou DXGI_ERROR_INVALID_CALL se o parâmetro ppAdapter for NULL.

Comentários

Esse método não tem suporte do DXGI 1.0, que foi enviado no Windows Vista e no Windows Server 2008. O suporte ao DXGI 1.1 é necessário, que está disponível no Windows 7, windows server 2008 R2 e como uma atualização para o Windows Vista com Service Pack 2 (SP2) (KB 971644) e Windows Server 2008 (KB 971512).

Quando você cria uma fábrica, a fábrica enumera o conjunto de adaptadores que estão disponíveis no sistema. Portanto, se você alterar os adaptadores em um sistema, deverá destruir e recriar o objeto IDXGIFactory1 . O número de adaptadores em um sistema muda quando você adiciona ou remove um cartão de vídeo ou encaixa ou desencaixa um laptop.

Quando o método EnumAdapters1 é bem-sucedido e preenche o parâmetro ppAdapter com o endereço do ponteiro para a interface do adaptador, EnumAdapters1 incrementa a contagem de referência da interface do adaptador. Quando terminar de usar a interface do adaptador, chame o método Release para diminuir a contagem de referência antes de destruir o ponteiro.

EnumAdapters1 primeiro retorna o adaptador com a saída na qual o primário da área de trabalho é exibido. Esse adaptador corresponde a um índice de zero. EnumAdapters1 em seguida retorna outros adaptadores com saídas. EnumAdapters1 finalmente retorna adaptadores sem saídas.

Exemplos

Enumerando adaptadores

O exemplo de código a seguir demonstra como enumerar adaptadores usando o método EnumAdapters1 .


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

Requisitos

   
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho dxgi.h
Biblioteca DXGI.lib

Confira também

DXGI Interfaces

IDXGIFactory1