Método IDXGIFactory::EnumAdapters (dxgi.h)

Enumera os adaptadores (placas de vídeo).

Sintaxe

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

Parâmetros

Adapter

Tipo: UINT

O índice do adaptador a ser enumerado.

[out] ppAdapter

Tipo: IDXGIAdapter**

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

Retornar valor

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

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 IDXGIFactory . 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 EnumAdapters é bem-sucedido e preenche o parâmetro ppAdapter com o endereço do ponteiro para a interface do adaptador, EnumAdapters 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.

EnumAdapters 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. EnumAdapters retorna outros adaptadores com saídas. EnumAdapters finalmente retorna adaptadores sem saídas.

Exemplos

Enumerando adaptadores

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


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

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho dxgi.h
Biblioteca DXGI.lib

Confira também

DXGI Interfaces

IDXGIFactory