Hans Leidekker : wbemprox: Implement Win32_NetworkAdapter.ServiceName.

Alexandre Julliard julliard at winehq.org
Thu Jan 21 16:19:15 CST 2021


Module: wine
Branch: master
Commit: 4c5dee872be0c6a5d5df089bcf15e49edfd00d43
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4c5dee872be0c6a5d5df089bcf15e49edfd00d43

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Thu Jan 21 12:36:42 2021 +0100

wbemprox: Implement Win32_NetworkAdapter.ServiceName.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50256
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wbemprox/builtin.c     |  3 +++
 dlls/wbemprox/tests/query.c | 14 ++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index d33cf1d03cc..9ae34a50c0d 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -206,6 +206,7 @@ static const struct column col_networkadapter[] =
     { L"NetConnectionStatus", CIM_UINT16 },
     { L"PhysicalAdapter",     CIM_BOOLEAN },
     { L"PNPDeviceID",         CIM_STRING },
+    { L"ServiceName",         CIM_STRING|COL_FLAG_DYNAMIC },
     { L"Speed",               CIM_UINT64 },
 };
 static const struct column col_networkadapterconfig[] =
@@ -613,6 +614,7 @@ struct record_networkadapter
     UINT16       netconnection_status;
     int          physicaladapter;
     const WCHAR *pnpdevice_id;
+    const WCHAR *servicename;
     UINT64       speed;
 };
 struct record_networkadapterconfig
@@ -2718,6 +2720,7 @@ static enum fill_status fill_networkadapter( struct table *table, const struct e
         rec->netconnection_status = get_connection_status( aa->OperStatus );
         rec->physicaladapter      = physical;
         rec->pnpdevice_id         = L"PCI\\VEN_8086&DEV_100E&SUBSYS_001E8086&REV_02\\3&267A616A&1&18";
+        rec->servicename          = heap_strdupW( aa->FriendlyName );
         rec->speed                = 1000000;
         if (!match_row( table, row, cond, &status ))
         {
diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c
index 5d7559afe56..a0488f40e52 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -1160,12 +1160,26 @@ static void test_Win32_NetworkAdapter( IWbemServices *services )
 
     for (;;)
     {
+        VARIANT val;
+        CIMTYPE type;
+
         hr = IEnumWbemClassObject_Next( result, 10000, 1, &obj, &count );
         if (hr != S_OK) break;
 
+        check_property( obj, L"Description", VT_BSTR, CIM_STRING );
         check_property( obj, L"DeviceID", VT_BSTR, CIM_STRING );
         check_property( obj, L"Index", VT_I4, CIM_UINT32 );
         check_property( obj, L"Name", VT_BSTR, CIM_STRING );
+
+        type = 0xdeadbeef;
+        VariantInit( &val );
+        hr = IWbemClassObject_Get( obj, L"ServiceName", 0, &val, &type, NULL );
+        ok( hr == S_OK, "failed to get service name %08x\n", hr );
+        ok( V_VT( &val ) == VT_BSTR || broken(V_VT( &val ) == VT_NULL) /* win2k8 */,
+            "unexpected variant type 0x%x\n", V_VT( &val ) );
+        ok( type == CIM_STRING, "unexpected type 0x%x\n", type );
+        VariantClear( &val );
+
         IWbemClassObject_Release( obj );
     }
 




More information about the wine-cvs mailing list