GetPhysicalMonitorsFromHMONITOR 함수(physicalmonitorenumerationapi.h)
HMONITOR 모니터 핸들과 연결된 물리적 모니터를 검색합니다.
구문
_BOOL GetPhysicalMonitorsFromHMONITOR(
[in] HMONITOR hMonitor,
[in] DWORD dwPhysicalMonitorArraySize,
[out] LPPHYSICAL_MONITOR pPhysicalMonitorArray
);
매개 변수
[in] hMonitor
모니터 핸들입니다. 모니터 핸들은 GDI(그래픽 디바이스 인터페이스)의 일부인 EnumDisplayMonitors 및 MonitorFromWindow를 비롯한 여러 디스플레이 모니터 함수에서 반환됩니다.
[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 |
헤더 | physicalmonitorenumerationapi.h |
라이브러리 | Dxva2.lib |
DLL | Dxva2.dll |