Partager via


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

Voir aussi

Surveiller les fonctions de configuration