Функция GetPhysicalMonitorsFromHMONITOR (physicalmonitorenumerationapi.h)
Извлекает физические мониторы, связанные с дескриптором монитора HMONITOR .
Синтаксис
_BOOL GetPhysicalMonitorsFromHMONITOR(
[in] HMONITOR hMonitor,
[in] DWORD dwPhysicalMonitorArraySize,
[out] LPPHYSICAL_MONITOR pPhysicalMonitorArray
);
Параметры
[in] hMonitor
Дескриптор монитора. Дескрипторы монитора возвращаются несколькими функциями монитора, включая EnumDisplayMonitors и MonitorFromWindow, которые являются частью интерфейса графического устройства (GDI).
[in] dwPhysicalMonitorArraySize
Число элементов в pPhysicalMonitorArray. Чтобы получить требуемый размер массива, вызовите Метод GetNumberOfPhysicalMonitorsFromHMONITOR.
[out] pPhysicalMonitorArray
Указатель на массив PHYSICAL_MONITOR структур. Вызывающий объект должен выделить массив.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE. Если функция завершается сбоем, возвращается значение FALSE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Один дескриптор HMONITOR можно связать с несколькими физическими мониторами. Эта функция возвращает дескриптор и текстовое описание для каждого физического монитора.
Завершив использование дескрипторов монитора, закройте их, передав массив pPhysicalMonitorArray в функцию DestroyPhysicalMonitors .
Примеры
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);
}
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | physicalmonitorenumerationapi.h |
Библиотека | Dxva2.lib |
DLL | Dxva2.dll |