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 |