IDXGIFactory1::EnumAdapters1-Methode (dxgi.h)
Listet beide Adapter (Grafikkarten) mit oder ohne Ausgänge auf.
Syntax
HRESULT EnumAdapters1(
UINT Adapter,
[out] IDXGIAdapter1 **ppAdapter
);
Parameter
Adapter
Typ: UINT
Der Index des zu enumerierenden Adapters.
[out] ppAdapter
Typ: IDXGIAdapter1**
Die Adresse eines Zeigers auf eine IDXGIAdapter1-Schnittstelle an der vom Adapter-Parameter angegebenen Position.
Dieser Parameter darf nicht NULL sein.
Rückgabewert
Typ: HRESULT
Gibt bei erfolgreicher Ausführung S_OK zurück. Gibt andernfalls DXGI_ERROR_NOT_FOUND zurück, wenn der Index größer oder gleich der Anzahl von Adaptern im lokalen System ist, oder DXGI_ERROR_INVALID_CALL , wenn der ppAdapter-ParameterNULL ist.
Hinweise
Diese Methode wird von DXGI 1.0, das in Windows Vista und Windows Server 2008 ausgeliefert wurde, nicht unterstützt. DXGI 1.1-Unterstützung ist erforderlich, die unter Windows 7, Windows Server 2008 R2 und als Update für Windows Vista mit Service Pack 2 (SP2) (KB 971644) und Windows Server 2008 (KB 971512) verfügbar ist.
Wenn Sie eine Factory erstellen, listet die Factory den Satz von Adaptern auf, die im System verfügbar sind. Wenn Sie also die Adapter in einem System ändern, müssen Sie das IDXGIFactory1-Objekt zerstören und neu erstellen. Die Anzahl der Adapter in einem System ändert sich, wenn Sie eine Anzeige Karte hinzufügen oder entfernen oder einen Laptop andocken oder aufheben.
Wenn die EnumAdapters1-Methode erfolgreich ist und den ppAdapter-Parameter mit der Adresse des Zeigers auf die Adapterschnittstelle füllt, erhöht EnumAdapters1 die Referenzanzahl der Adapterschnittstelle. Wenn Sie die Verwendung der Adapterschnittstelle abgeschlossen haben, rufen Sie die Release-Methode auf, um die Verweisanzahl zu verringern, bevor Sie den Zeiger zerstören.
EnumAdapters1 gibt zuerst den Adapter mit der Ausgabe zurück, auf der der primäre Desktop angezeigt wird. Dieser Adapter entspricht einem Index von null. EnumAdapters1 gibt als nächstes andere Adapter mit Ausgaben zurück. EnumAdapters1 gibt schließlich Adapter ohne Ausgaben zurück.
Beispiele
Auflisten von Adaptern
Im folgenden Codebeispiel wird veranschaulicht, wie Adapter mithilfe der EnumAdapters1-Methode aufgelistet werden.
UINT i = 0;
IDXGIAdapter1 * pAdapter;
std::vector <IDXGIAdapter1*> vAdapters;
while(pFactory->EnumAdapters1(i, &pAdapter) != DXGI_ERROR_NOT_FOUND)
{
vAdapters.push_back(pAdapter);
++i;
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | dxgi.h |
Bibliothek | DXGI.lib |