Compartir a través de


Método IDXGIOutput::GetDisplayModeList (dxgi.h)

[A partir de Direct3D 11.1, se recomienda no usar GetDisplayModeList para recuperar el modo de visualización coincidente. En su lugar, use IDXGIOutput1::GetDisplayModeList1, que admite el modo de visualización estéreo.]

Obtiene los modos de presentación que coinciden con el formato solicitado y otras opciones de entrada.

Sintaxis

HRESULT GetDisplayModeList(
                  DXGI_FORMAT    EnumFormat,
                  UINT           Flags,
  [in, out]       UINT           *pNumModes,
  [out, optional] DXGI_MODE_DESC *pDesc
);

Parámetros

EnumFormat

Tipo: DXGI_FORMAT

Formato de color (vea DXGI_FORMAT).

Flags

Tipo: UINT

Opciones para incluir los modos (consulte DXGI_ENUM_MODES). DXGI_ENUM_MODES_SCALING debe especificarse para exponer los modos de visualización que requieren escalado. Los modos centrados, que no requieren escalado y correspondientes directamente a la salida de la pantalla, se enumeran de forma predeterminada.

[in, out] pNumModes

Tipo: UINT*

Establezca pDesc en NULL para que pNumModes devuelva el número de modos de presentación que coinciden con el formato y las opciones. De lo contrario, pNumModes devuelve el número de modos de presentación devueltos en pDesc.

[out, optional] pDesc

Tipo: DXGI_MODE_DESC*

Puntero a una lista de modos de visualización (vea DXGI_MODE_DESC); establezca en NULL para obtener el número de modos de presentación.

Valor devuelto

Tipo: HRESULT

Devuelve uno de los siguientes DXGI_ERROR. Es poco frecuente, pero posible, que los modos de visualización disponibles pueden cambiar inmediatamente después de llamar a este método, en cuyo caso se devuelve DXGI_ERROR_MORE_DATA (si no hay suficiente espacio para todos los modos de visualización).
Si se llama a GetDisplayModeList desde una sesión de Servicios de Escritorio remoto (anteriormente sesión de Terminal Services), se devuelve DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.

Comentarios

En general, al cambiar del modo de ventana a pantalla completa, una cadena de intercambio elige automáticamente un modo de visualización que cumple (o supera) la resolución, la profundidad de color y la velocidad de actualización de la cadena de intercambio. Para ejercer más control sobre el modo de visualización, use esta API para sondear el conjunto de modos de visualización que se validan con las funcionalidades de supervisión o todos los modos que coincidan con el escritorio (si la configuración de escritorio no se valida con el monitor).

Como se muestra, esta API está diseñada para llamarse dos veces. En primer lugar, para obtener el número de modos disponibles y, en segundo lugar, devolver una descripción de los modos.


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);
      

Requisitos

   
Plataforma de destino Windows
Encabezado dxgi.h
Library DXGI.lib

Consulte también

IDXGIOutput