Metodo IDXGIFactory::EnumAdapters (dxgi.h)
Enumera le schede (schede video).
Sintassi
HRESULT EnumAdapters(
UINT Adapter,
[out] IDXGIAdapter **ppAdapter
);
Parametri
Adapter
Tipo: UINT
Indice dell'adapter da enumerare.
[out] ppAdapter
Tipo: IDXGIAdapter**
Indirizzo di un puntatore a un'interfaccia IDXGIAdapter nella posizione specificata dal parametro Adapter . Questo parametro non deve essere NULL.
Valore restituito
Tipo: HRESULT
Restituisce S_OK se ha esito positivo; in caso contrario, restituisce DXGI_ERROR_NOT_FOUND se l'indice è maggiore o uguale al numero di adattatori nel sistema locale o DXGI_ERROR_INVALID_CALL se il parametro ppAdapter è NULL.
Commenti
Quando si crea una factory, la factory enumera il set di schede disponibili nel sistema. Pertanto, se si modificano gli adattatori in un sistema, è necessario eliminare e ricreare l'oggetto IDXGIFactory . Il numero di adattatori in un sistema cambia quando si aggiunge o si rimuove una scheda di visualizzazione o si scarica o si scollega un portatile.
Quando il metodo EnumAdapters riesce e riempie il parametro ppAdapter con l'indirizzo del puntatore all'interfaccia dell'adattatore, EnumAdapters incrementa il conteggio dei riferimenti dell'interfaccia dell'adapter. Al termine dell'uso dell'interfaccia dell'adattatore, chiamare il metodo Release per decrerere il conteggio dei riferimenti prima di eliminare il puntatore.
EnumAdapters restituisce prima l'adattatore con l'output in cui viene visualizzata la primaria desktop. Questa scheda corrisponde a un indice pari a zero. EnumAdapters successivamente restituisce altre schede con output. EnumAdapters restituisce infine schede senza output.
Esempio
Enumerazione di adapter
Nell'esempio di codice seguente viene illustrato come enumerare gli adapter usando il metodo EnumAdapters .
UINT i = 0;
IDXGIAdapter * pAdapter;
std::vector <IDXGIAdapter*> vAdapters;
while(pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND)
{
vAdapters.push_back(pAdapter);
++i;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | dxgi.h |
Libreria | DXGI.lib |