GetPhysicalMonitorsFromHMONITOR 関数 (physicalmonitorenumerationapi.h)

HMONITOR モニター ハンドルに関連付けられている物理モニターを取得します。

構文

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

パラメーター

[in] hMonitor

モニター ハンドル。 モニター ハンドルは、 EnumDisplayMonitorsMonitorFromWindow など、グラフィックス デバイス インターフェイス (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

こちらもご覧ください

構成関数の監視