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 |