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 |
---|---|
|
La función devuelve correctamente los valores de PPP X e Y para el monitor especificado. |
|
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 |