Share via


Función GetPhysicalMonitorsFromHMONITOR (physicalmonitorenumerationapi.h)

Recupera los monitores físicos asociados a un identificador de monitor HMONITOR .

Sintaxis

_BOOL GetPhysicalMonitorsFromHMONITOR(
  [in]  HMONITOR           hMonitor,
  [in]  DWORD              dwPhysicalMonitorArraySize,
  [out] LPPHYSICAL_MONITOR pPhysicalMonitorArray
);

Parámetros

[in] hMonitor

Identificador de monitor. Varias funciones de Monitor de visualización, como EnumDisplayMonitors y MonitorFromWindow, que forman parte de la interfaz de dispositivo gráfico (GDI) devuelven los identificadores de monitor.

[in] dwPhysicalMonitorArraySize

Número de elementos de pPhysicalMonitorArray. Para obtener el tamaño necesario de la matriz, llame a GetNumberOfPhysicalMonitorsFromHMONITOR.

[out] pPhysicalMonitorArray

Puntero a una matriz de estructuras de PHYSICAL_MONITOR . El autor de la llamada debe asignar la matriz.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE. Si se produce un error en la función, el valor devuelto es FALSE. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Un único controlador HMONITOR se puede asociar a más de un monitor físico. Esta función devuelve un identificador y una descripción de texto para cada monitor físico.

Cuando haya terminado de usar los identificadores de monitor, ciérralos pasando la matriz pPhysicalMonitorArray a la función DestroyPhysicalMonitors .

Ejemplos


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);
    }
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado physicalmonitorenumerationapi.h
Library Dxva2.lib
Archivo DLL Dxva2.dll

Consulte también

Supervisar funciones de configuración