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 を呼び出します。
解説
1 つの 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 |
Library | Dxva2.lib |
[DLL] | Dxva2.dll |