[7/8] wbemprox: Implement Win32_NetworkAdapterConfiguration.SettingID.
Hans Leidekker
hans at codeweavers.com
Wed Dec 23 04:07:42 CST 2015
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/wbemprox/Makefile.in | 2 +-
dlls/wbemprox/builtin.c | 18 +++++++++++++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/wbemprox/Makefile.in b/dlls/wbemprox/Makefile.in
index 3b17afb..f411898 100644
--- a/dlls/wbemprox/Makefile.in
+++ b/dlls/wbemprox/Makefile.in
@@ -1,5 +1,5 @@
MODULE = wbemprox.dll
-IMPORTS = winspool version iphlpapi dxgi oleaut32 ole32 advapi32 user32 gdi32 ws2_32
+IMPORTS = winspool version iphlpapi dxgi oleaut32 ole32 advapi32 user32 gdi32 ws2_32 rpcrt4
C_SRCS = \
builtin.c \
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index d20ef82..a3cf673 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -305,6 +305,8 @@ static const WCHAR prop_servicepackminorW[] =
{'S','e','r','v','i','c','e','P','a','c','k','M','i','n','o','r','V','e','r','s','i','o','n',0};
static const WCHAR prop_servicetypeW[] =
{'S','e','r','v','i','c','e','T','y','p','e',0};
+static const WCHAR prop_settingidW[] =
+ {'S','e','t','t','i','n','g','I','D',0};
static const WCHAR prop_smbiosbiosversionW[] =
{'S','M','B','I','O','S','B','I','O','S','V','e','r','s','i','o','n',0};
static const WCHAR prop_startmodeW[] =
@@ -485,7 +487,8 @@ static const struct column col_networkadapterconfig[] =
{ prop_indexW, CIM_UINT32|COL_FLAG_KEY, VT_I4 },
{ prop_ipconnectionmetricW, CIM_UINT32, VT_I4 },
{ prop_ipenabledW, CIM_BOOLEAN },
- { prop_macaddressW, CIM_STRING|COL_FLAG_DYNAMIC }
+ { prop_macaddressW, CIM_STRING|COL_FLAG_DYNAMIC },
+ { prop_settingidW, CIM_STRING|COL_FLAG_DYNAMIC }
};
static const struct column col_os[] =
{
@@ -880,6 +883,7 @@ struct record_networkadapterconfig
UINT32 ipconnectionmetric;
int ipenabled;
const WCHAR *mac_address;
+ const WCHAR *settingid;
};
struct record_operatingsystem
{
@@ -2189,6 +2193,17 @@ static struct array *get_dnsserversearchorder( IP_ADAPTER_DNS_SERVER_ADDRESS *li
ret->ptr = ptr;
return ret;
}
+static WCHAR *get_settingid( UINT32 index )
+{
+ GUID guid;
+ WCHAR *ret, *str;
+ memset( &guid, 0, sizeof(guid) );
+ guid.Data1 = index;
+ UuidToStringW( &guid, &str );
+ ret = heap_strdupW( str );
+ RpcStringFreeW( &str );
+ return ret;
+}
static enum fill_status fill_networkadapterconfig( struct table *table, const struct expr *cond )
{
@@ -2230,6 +2245,7 @@ static enum fill_status fill_networkadapterconfig( struct table *table, const st
rec->ipconnectionmetric = 20;
rec->ipenabled = -1;
rec->mac_address = get_mac_address( aa->PhysicalAddress, aa->PhysicalAddressLength );
+ rec->settingid = get_settingid( rec->index );
if (!match_row( table, row, cond, &status ))
{
free_row_values( table, row );
--
2.1.4
More information about the wine-patches
mailing list