[PATCH 2/3] wbemprox: Implement Win32_DesktopMonitor.Name.
Hans Leidekker
hans at codeweavers.com
Tue Feb 25 04:39:52 CST 2020
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48646
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/wbemprox/builtin.c | 3 +++
dlls/wbemprox/tests/query.c | 27 +++++++++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index f422e9c61d..06c9d722aa 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -557,6 +557,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[] =
@@ -1041,6 +1042,7 @@ struct record_datafile
};
struct record_desktopmonitor
{
+ const WCHAR *name;
UINT32 pixelsperxlogicalinch;
};
struct record_directory
@@ -2490,6 +2492,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 97f8dca561..02e4f564e7 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -1712,6 +1712,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[] =
@@ -1837,6 +1863,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 );
--
2.20.1
More information about the wine-devel
mailing list