diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c index 1f8afb46fe8..fcabd068371 100644 --- a/dlls/wbemprox/builtin.c +++ b/dlls/wbemprox/builtin.c @@ -543,6 +543,7 @@ static const struct column col_datafile[] = }; static const struct column col_desktopmonitor[] = { + { prop_nameW, CIM_STRING }, { prop_pixelsperxlogicalinchW, CIM_UINT32 } }; static const struct column col_directory[] = @@ -1022,6 +1023,7 @@ struct record_datafile }; struct record_desktopmonitor { + const WCHAR *name; UINT32 pixelsperxlogicalinch; }; struct record_directory @@ -2413,6 +2415,7 @@ static enum fill_status fill_desktopmonitor( struct table *table, const struct e if (!resize_table( table, 1, sizeof(*rec) )) return FILL_STATUS_FAILED; rec = (struct record_desktopmonitor *)table->data; + rec->name = L"Generic Non-PnP Monitor"; rec->pixelsperxlogicalinch = get_pixelsperxlogicalinch(); if (match_row( table, row, cond, &status )) row++; diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c index 40eaefee4c7..0212cdcb69e 100644 --- a/dlls/wbemprox/tests/query.c +++ b/dlls/wbemprox/tests/query.c @@ -1710,6 +1710,32 @@ static void test_Win32_WinSAT( IWbemServices *services ) SysFreeString( wql ); } +static void test_Win32_DesktopMonitor( IWbemServices *services ) +{ + BSTR wql = SysAllocString( wqlW ), query = SysAllocString( L"SELECT * FROM Win32_DesktopMonitor" ); + IEnumWbemClassObject *result; + IWbemClassObject *obj; + HRESULT hr; + DWORD count; + + hr = IWbemServices_ExecQuery( services, wql, query, 0, NULL, &result ); + ok( hr == S_OK, "got %08x\n", hr ); + + for (;;) + { + hr = IEnumWbemClassObject_Next( result, 10000, 1, &obj, &count ); + if (hr != S_OK) break; + + check_property( obj, L"Name", VT_BSTR, CIM_STRING ); + check_property( obj, L"PixelsPerXlogicalInch", VT_I4, CIM_UINT32 ); + IWbemClassObject_Release( obj ); + } + + IEnumWbemClassObject_Release( result ); + SysFreeString( query ); + SysFreeString( wql ); +} + static void test_Win32_DisplayControllerConfiguration( IWbemServices *services ) { static const WCHAR bitsperpixelW[] = @@ -1835,6 +1861,7 @@ START_TEST(query) test_Win32_ComputerSystem( services ); test_Win32_ComputerSystemProduct( services ); test_Win32_Bios( services ); + test_Win32_DesktopMonitor( services ); test_Win32_DisplayControllerConfiguration( services ); test_Win32_IP4RouteTable( services ); test_Win32_OperatingSystem( services );