Función GetDpiForMonitor (shellscalingapi.h)

Consulta los puntos por pulgada (ppp) de una pantalla.

Sintaxis

HRESULT GetDpiForMonitor(
  [in]  HMONITOR         hmonitor,
  [in]  MONITOR_DPI_TYPE dpiType,
  [out] UINT             *dpiX,
  [out] UINT             *dpiY
);

Parámetros

[in] hmonitor

Identificador del monitor que se está consultando.

[in] dpiType

Tipo de PPP que se consulta. Los valores posibles proceden de la enumeración MONITOR_DPI_TYPE .

[out] dpiX

Valor de PPP a lo largo del eje X. Este valor siempre hace referencia al borde horizontal, incluso cuando se gira la pantalla.

[out] dpiY

Valor de PPP a lo largo del eje Y. Este valor siempre hace referencia al borde vertical, incluso cuando se gira la pantalla.

Valor devuelto

Esta función devuelve uno de los valores siguientes.

Código devuelto Descripción
S_OK
La función devuelve correctamente los valores de PPP X e Y para el monitor especificado.
E_INVALIDARG
El identificador, el tipo de PPP o los punteros pasados no son válidos.

Comentarios

Esta API no es compatible con PPP y no debe usarse si el subproceso de llamada es compatible con PPP por monitor. Para obtener la versión compatible con PPP de esta API, consulte GetDpiForWindow.

Al llamar a GetDpiForMonitor, recibirá valores de PPP diferentes en función del reconocimiento de PPP de la aplicación que realiza la llamada. El reconocimiento de PPP es una propiedad de nivel de aplicación que normalmente se define en el manifiesto de aplicación. Para obtener más información sobre los valores de reconocimiento de PPP, consulte PROCESS_DPI_AWARENESS. En la tabla siguiente se indica cómo variarán los resultados en función del valor de PROCESS_DPI_AWARENESS de la aplicación.

PROCESS_DPI_UNAWARE 96 porque la aplicación no es consciente de ningún otro factor de escala.
PROCESS_SYSTEM_DPI_AWARE Valor establecido en ppp del sistema porque la aplicación supone que todas las aplicaciones usan el PPP del sistema.
PROCESS_PER_MONITOR_DPI_AWARE Valor de PPP real establecido por el usuario para esa presentación.
 

Los valores de *pppX y *pppY son idénticos. Solo tiene que registrar uno de los valores para determinar el PPP y responder adecuadamente.

Cuando MONITOR_DPI_TYPE es MDT_ANGULAR_DPI o MDT_RAW_DPI, el valor de PPP devuelto no incluye ningún cambio realizado por el usuario en el PPP mediante el control deslizante de invalidación de escalado de escritorio en Panel de control.

Para obtener más información sobre la configuración de PPP en Panel de control, consulte las notas del producto Sobre escritura de aplicaciones de escritorio de DPI-Aware en Windows 8.1 Preview.

Requisitos

   
Cliente mínimo compatible Windows 8.1 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shellscalingapi.h
Library Shcore.lib
Archivo DLL Shcore.dll

Consulte también

PROCESS_DPI_AWARENESS