GetPhysicalMonitorsFromHMONITOR, fonction (physicalmonitorenumerationapi.h)
Récupère les moniteurs physiques associés à un handle de moniteur HMONITOR .
Syntaxe
_BOOL GetPhysicalMonitorsFromHMONITOR(
[in] HMONITOR hMonitor,
[in] DWORD dwPhysicalMonitorArraySize,
[out] LPPHYSICAL_MONITOR pPhysicalMonitorArray
);
Paramètres
[in] hMonitor
Un handle de moniteur. Les handles de moniteur sont retournés par plusieurs fonctions Display Monitor, notamment EnumDisplayMonitors et MonitorFromWindow, qui font partie de l’interface de périphérique graphique (GDI).
[in] dwPhysicalMonitorArraySize
Nombre d’éléments dans pPhysicalMonitorArray. Pour obtenir la taille requise du tableau, appelez GetNumberOfPhysicalMonitorsFromHMONITOR.
[out] pPhysicalMonitorArray
Pointeur vers un tableau de structures PHYSICAL_MONITOR . L’appelant doit allouer le tableau.
Valeur retournée
Si la fonction réussit, la valeur de retour est TRUE. Si la fonction échoue, la valeur de retour est FALSE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Un seul handle HMONITOR peut être associé à plusieurs moniteurs physiques. Cette fonction retourne un handle et une description de texte pour chaque moniteur physique.
Lorsque vous avez terminé d’utiliser les handles du moniteur, fermez-les en passant le tableau pPhysicalMonitorArray à la fonction DestroyPhysicalMonitors .
Exemples
HMONITOR hMonitor = NULL;
DWORD cPhysicalMonitors;
LPPHYSICAL_MONITOR pPhysicalMonitors = NULL;
// Get the monitor handle.
hMonitor = MonitorFromWindow(hWnd, MONITOR_DEFAULTTOPRIMARY);
// Get the number of physical monitors.
BOOL bSuccess = GetNumberOfPhysicalMonitorsFromHMONITOR(
hMonitor,
&cPhysicalMonitors
);
if (bSuccess)
{
// Allocate the array of PHYSICAL_MONITOR structures.
pPhysicalMonitors = (LPPHYSICAL_MONITOR)malloc(
cPhysicalMonitors* sizeof(PHYSICAL_MONITOR));
if (pPhysicalMonitors != NULL)
{
// Get the array.
bSuccess = GetPhysicalMonitorsFromHMONITOR(
hMonitor, cPhysicalMonitors, pPhysicalMonitors);
// Use the monitor handles (not shown).
// Close the monitor handles.
bSuccess = DestroyPhysicalMonitors(
cPhysicalMonitors,
pPhysicalMonitors);
// Free the array.
free(pPhysicalMonitors);
}
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | physicalmonitorenumerationapi.h |
Bibliothèque | Dxva2.lib |
DLL | Dxva2.dll |