IDXGIOutput::GetDisplayModeList-Methode (dxgi.h)
[Ab Direct3D 11.1 wird empfohlen, GetDisplayModeList nicht mehr zu verwenden, um den entsprechenden Anzeigemodus abzurufen. Verwenden Sie stattdessen IDXGIOutput1::GetDisplayModeList1, der den Stereoanzeigemodus unterstützt.]
Ruft die Anzeigemodi ab, die dem angeforderten Format und anderen Eingabeoptionen entsprechen.
Syntax
HRESULT GetDisplayModeList(
DXGI_FORMAT EnumFormat,
UINT Flags,
[in, out] UINT *pNumModes,
[out, optional] DXGI_MODE_DESC *pDesc
);
Parameter
EnumFormat
Typ: DXGI_FORMAT
Das Farbformat (siehe DXGI_FORMAT).
Flags
Typ: UINT
Optionen für einzuschließende Modi (siehe DXGI_ENUM_MODES). DXGI_ENUM_MODES_SCALING muss angegeben werden, um die Anzeigemodi verfügbar zu machen, die eine Skalierung erfordern. Zentrierte Modi, die keine Skalierung erfordern und direkt der Anzeigeausgabe entsprechen, werden standardmäßig aufgezählt.
[in, out] pNumModes
Typ: UINT*
Legen Sie pDesc auf NULL fest, damit pNumModes die Anzahl der Anzeigemodi zurückgibt, die dem Format und den Optionen entsprechen. Andernfalls gibt pNumModes die Anzahl der anzeigemodi zurück, die in pDesc zurückgegeben werden.
[out, optional] pDesc
Typ: DXGI_MODE_DESC*
Ein Zeiger auf eine Liste der Anzeigemodi (siehe DXGI_MODE_DESC); legen Sie auf NULL fest, um die Anzahl der Anzeigemodi abzurufen.
Rückgabewert
Typ: HRESULT
Gibt eine der folgenden DXGI_ERROR zurück. Es ist selten, aber möglich, dass sich die verfügbaren Anzeigemodi unmittelbar nach dem Aufruf dieser Methode ändern können. In diesem Fall wird DXGI_ERROR_MORE_DATA zurückgegeben (wenn nicht genügend Platz für alle Anzeigemodi vorhanden ist).
Wenn GetDisplayModeList von einer Remotedesktopdienste-Sitzung (früher Terminaldienste-Sitzung) aufgerufen wird, wird DXGI_ERROR_NOT_CURRENTLY_AVAILABLE zurückgegeben.
Hinweise
Im Allgemeinen wählt eine Swapchain beim Wechsel vom Fenstermodus zum Vollbildmodus automatisch einen Anzeigemodus aus, der die Auflösung, Farbtiefe und Aktualisierungsrate der Swapchain erfüllt (oder überschreitet). Wenn Sie mehr Kontrolle über den Anzeigemodus haben möchten, verwenden Sie diese API, um den Satz von Anzeigemodi abzufragen, die anhand von Überwachungsfunktionen überprüft werden, oder alle Modi, die dem Desktop entsprechen (wenn die Desktopeinstellungen nicht für den Monitor überprüft werden).
Wie gezeigt, ist diese API so konzipiert, dass sie zweimal aufgerufen wird. Erstens, um die Anzahl der verfügbaren Modi abzurufen, und zweitens, um eine Beschreibung der Modi zurückzugeben.
UINT num = 0;
DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags = DXGI_ENUM_MODES_INTERLACED;
pOutput->GetDisplayModeList( format, flags, &num, 0);
...
DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num];
pOutput->GetDisplayModeList( format, flags, &num, pDescs);
Anforderungen
Zielplattform | Windows |
Kopfzeile | dxgi.h |
Bibliothek | DXGI.lib |