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 |