Compartilhar via


Função GetPhysicalMonitorsFromHMONITOR (physicalmonitorenumerationapi.h)

Recupera os monitores físicos associados a um identificador de monitor HMONITOR .

Sintaxe

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

Parâmetros

[in] hMonitor

Um identificador de monitor. Os identificadores de monitor são retornados por várias funções do Monitor de Exibição Múltipla, incluindo EnumDisplayMonitors e MonitorFromWindow, que fazem parte da GDI (interface do dispositivo gráfico).

[in] dwPhysicalMonitorArraySize

Número de elementos em pPhysicalMonitorArray. Para obter o tamanho necessário da matriz, chame GetNumberOfPhysicalMonitorsFromHMONITOR.

[out] pPhysicalMonitorArray

Ponteiro para uma matriz de estruturas de PHYSICAL_MONITOR . O chamador deve alocar a matriz.

Retornar valor

Se a função for bem-sucedida, o valor retornado será TRUE. Se a função falhar, o valor retornado será FALSE. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Um único identificador HMONITOR pode ser associado a mais de um monitor físico. Essa função retorna um identificador e uma descrição de texto para cada monitor físico.

Quando terminar de usar as alças de monitor, feche-as passando a matriz pPhysicalMonitorArray para a função DestroyPhysicalMonitors .

Exemplos


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 Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho physicalmonitorenumerationapi.h
Biblioteca Dxva2.lib
DLL Dxva2.dll

Confira também

Monitorar funções de configuração