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 |