Partager via


GetDpiForMonitor, fonction (shellscalingapi.h)

Interroge les points par pouce (ppp) d’un affichage.

Syntaxe

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

Paramètres

[in] hmonitor

Handle du moniteur interrogé.

[in] dpiType

Type de PPP interrogé. Les valeurs possibles proviennent de l’énumération MONITOR_DPI_TYPE .

[out] dpiX

Valeur de la PPP le long de l’axe X. Cette valeur fait toujours référence au bord horizontal, même lorsque l’écran est pivoté.

[out] dpiY

Valeur de la PPP le long de l’axe Y. Cette valeur fait toujours référence au bord vertical, même lorsque l’écran est pivoté.

Valeur retournée

Cette fonction retourne l’une des valeurs suivantes.

Code de retour Description
S_OK
La fonction retourne correctement les valeurs PPP X et Y pour le moniteur spécifié.
E_INVALIDARG
Le handle, le type PPP ou les pointeurs passés ne sont pas valides.

Remarques

Cette API n’est pas compatible ppp et ne doit pas être utilisée si le thread appelant prend en charge la résolution par moniteur. Pour obtenir la version prenant en charge les PPP de cette API, consultez GetDpiForWindow.

Lorsque vous appelez GetDpiForMonitor, vous recevez des valeurs PPP différentes en fonction de la prise de conscience ppp de l’application appelante. La reconnaissance PPP est une propriété au niveau de l’application généralement définie dans le manifeste de l’application. Pour plus d’informations sur les valeurs de reconnaissance ppp, consultez PROCESS_DPI_AWARENESS. Le tableau suivant indique les différences entre les résultats en fonction de la valeur PROCESS_DPI_AWARENESS de votre application.

PROCESS_DPI_UNAWARE 96 parce que l’application n’a pas connaissance d’autres facteurs d’échelle.
PROCESS_SYSTEM_DPI_AWARE Valeur définie sur la résolution du système, car l’application suppose que toutes les applications utilisent le ppp système.
PROCESS_PER_MONITOR_DPI_AWARE Valeur PPP réelle définie par l’utilisateur pour cet affichage.
 

Les valeurs de *dpiX et *dpiY sont identiques. Vous n’avez besoin d’enregistrer qu’une des valeurs pour déterminer la PPP et répondre de manière appropriée.

Lorsque MONITOR_DPI_TYPE est MDT_ANGULAR_DPI ou MDT_RAW_DPI, la valeur PPP retournée n’inclut pas les modifications apportées par l’utilisateur à la ppp à l’aide du contrôle curseur de remplacement de la mise à l’échelle du bureau dans Panneau de configuration.

Pour plus d’informations sur les paramètres PPP dans Panneau de configuration, consultez le livre blanc Écriture DPI-Aware applications de bureau dans Windows 8.1 Preview.

Configuration requise

   
Client minimal pris en charge Windows 8.1 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shellscalingapi.h
Bibliothèque Shcore.lib
DLL Shcore.dll

Voir aussi

PROCESS_DPI_AWARENESS