Freigeben über


Gewusst wie: Abrufen von Adapteranzeigemodi

In diesem Thema wird gezeigt, wie Sie die Microsoft DirectX-Grafikinfrastruktur (DXGI) verwenden, um die gültigen Anzeigemodi abzurufen, die einem Adapter zugeordnet sind. DirectX 10 und 11 können DXGI verwenden, um die gültigen Anzeigemodi abzurufen. Wenn Sie die gültigen Anzeigemodi kennen, wird sichergestellt, dass Ihre Anwendung einen gültigen Vollbildmodus ordnungsgemäß auswählen kann.

So rufen Sie die Anzeigemodi des Adapters ab

  1. Erstellen Sie ein IDXGIFactory-Objekt , und verwenden Sie es, um die verfügbaren Adapter aufzulisten. Weitere Informationen finden Sie unter Vorgehensweise: Auflisten von Adaptern.

  2. Rufen Sie IDXGIAdapter::EnumOutputs auf, um die Ausgaben für jeden Adapter aufzulisten.

    IDXGIOutput* pOutput = NULL; 
    HRESULT hr;
    
    hr = pAdapter->EnumOutputs(0,&pOutput);
    
  3. Rufen Sie IDXGIOutput::GetDisplayModeList auf, um ein Array von DXGI_MODE_DESC Strukturen und die Anzahl der Elemente im Array abzurufen. Jede DXGI_MODE_DESC-Struktur stellt einen gültigen Anzeigemodus für die Ausgabe dar.

    UINT numModes = 0;
    DXGI_MODE_DESC* displayModes = NULL;
    DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
    
        // Get the number of elements
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, NULL);
    
        displayModes = new DXGI_MODE_DESC[numModes]; 
    
        // Get the list
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, displayModes);
    

Geräte

Verwenden von Direct3D 11