Método IDXGIFactory1::EnumAdapters1 (dxgi.h)
Enumera ambos adaptadores (tarjetas de vídeo) con o sin salidas.
Sintaxis
HRESULT EnumAdapters1(
UINT Adapter,
[out] IDXGIAdapter1 **ppAdapter
);
Parámetros
Adapter
Tipo: UINT
Índice del adaptador que se va a enumerar.
[out] ppAdapter
Tipo: IDXGIAdapter1**
Dirección de un puntero a una interfaz IDXGIAdapter1 en la posición especificada por el parámetro Adapter .
Este parámetro no debe ser NULL.
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se ejecuta correctamente; de lo contrario, devuelve DXGI_ERROR_NOT_FOUND si el índice es mayor o igual que el número de adaptadores del sistema local o DXGI_ERROR_INVALID_CALL si el parámetro ppAdapter es NULL.
Comentarios
DxGI 1.0 no admite este método, que se incluye en Windows Vista y Windows Server 2008. Se requiere compatibilidad con DXGI 1.1, que está disponible en Windows 7, Windows Server 2008 R2 y como actualización de Windows Vista con Service Pack 2 (SP2) (KB 971644) y Windows Server 2008 (KB 971512).
Al crear un generador, el generador enumera el conjunto de adaptadores que están disponibles en el sistema. Por lo tanto, si cambia los adaptadores en un sistema, debe destruir y volver a crear el objeto IDXGIFactory1 . El número de adaptadores de un sistema cambia al agregar o quitar una tarjeta de pantalla, o acoplar o desacoplar un portátil.
Cuando el método EnumAdapters1 se realiza correctamente y rellena el parámetro ppAdapter con la dirección del puntero a la interfaz del adaptador, EnumAdapters1 incrementa el recuento de referencias de la interfaz del adaptador. Cuando termine de usar la interfaz del adaptador, llame al método Release para disminuir el recuento de referencias antes de destruir el puntero.
EnumAdapters1 devuelve primero el adaptador con la salida en la que se muestra la principal de escritorio. Este adaptador corresponde a un índice de cero. EnumAdapters1 después devuelve otros adaptadores con salidas. EnumAdapters1 finalmente devuelve adaptadores sin salidas.
Ejemplos
Enumerar adaptadores
En el ejemplo de código siguiente se muestra cómo enumerar adaptadores mediante el 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 compatible | Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | dxgi.h |
Library | DXGI.lib |