wbemprox: Implement Win32_OperatingSystem.TotalVirtualMemorySize.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
474d5be546
commit
710abd65bb
@ -342,6 +342,8 @@ static const WCHAR prop_threadcountW[] =
|
|||||||
{'T','h','r','e','a','d','C','o','u','n','t',0};
|
{'T','h','r','e','a','d','C','o','u','n','t',0};
|
||||||
static const WCHAR prop_totalphysicalmemoryW[] =
|
static const WCHAR prop_totalphysicalmemoryW[] =
|
||||||
{'T','o','t','a','l','P','h','y','s','i','c','a','l','M','e','m','o','r','y',0};
|
{'T','o','t','a','l','P','h','y','s','i','c','a','l','M','e','m','o','r','y',0};
|
||||||
|
static const WCHAR prop_totalvirtualmemorysizeW[] =
|
||||||
|
{'T','o','t','a','l','V','i','r','t','u','a','l','M','e','m','o','r','y','S','i','z','e',0};
|
||||||
static const WCHAR prop_totalvisiblememorysizeW[] =
|
static const WCHAR prop_totalvisiblememorysizeW[] =
|
||||||
{'T','o','t','a','l','V','i','s','i','b','l','e','M','e','m','o','r','y','S','i','z','e',0};
|
{'T','o','t','a','l','V','i','s','i','b','l','e','M','e','m','o','r','y','S','i','z','e',0};
|
||||||
static const WCHAR prop_typeW[] =
|
static const WCHAR prop_typeW[] =
|
||||||
@ -517,6 +519,7 @@ static const struct column col_os[] =
|
|||||||
{ prop_servicepackminorW, CIM_UINT16, VT_I4 },
|
{ prop_servicepackminorW, CIM_UINT16, VT_I4 },
|
||||||
{ prop_suitemaskW, CIM_UINT32, VT_I4 },
|
{ prop_suitemaskW, CIM_UINT32, VT_I4 },
|
||||||
{ prop_systemdirectoryW, CIM_STRING|COL_FLAG_DYNAMIC },
|
{ prop_systemdirectoryW, CIM_STRING|COL_FLAG_DYNAMIC },
|
||||||
|
{ prop_totalvirtualmemorysizeW, CIM_UINT64 },
|
||||||
{ prop_totalvisiblememorysizeW, CIM_UINT64 },
|
{ prop_totalvisiblememorysizeW, CIM_UINT64 },
|
||||||
{ prop_versionW, CIM_STRING|COL_FLAG_DYNAMIC }
|
{ prop_versionW, CIM_STRING|COL_FLAG_DYNAMIC }
|
||||||
};
|
};
|
||||||
@ -899,6 +902,7 @@ struct record_operatingsystem
|
|||||||
UINT16 servicepackminor;
|
UINT16 servicepackminor;
|
||||||
UINT32 suitemask;
|
UINT32 suitemask;
|
||||||
const WCHAR *systemdirectory;
|
const WCHAR *systemdirectory;
|
||||||
|
UINT64 totalvirtualmemorysize;
|
||||||
UINT64 totalvisiblememorysize;
|
UINT64 totalvisiblememorysize;
|
||||||
const WCHAR *version;
|
const WCHAR *version;
|
||||||
};
|
};
|
||||||
@ -2763,7 +2767,8 @@ static enum fill_status fill_os( struct table *table, const struct expr *cond )
|
|||||||
rec->servicepackminor = ver.wServicePackMinor;
|
rec->servicepackminor = ver.wServicePackMinor;
|
||||||
rec->suitemask = 272; /* Single User + Terminal */
|
rec->suitemask = 272; /* Single User + Terminal */
|
||||||
rec->systemdirectory = get_systemdirectory();
|
rec->systemdirectory = get_systemdirectory();
|
||||||
rec->totalvisiblememorysize = get_total_physical_memory() / 1024;
|
rec->totalvirtualmemorysize = get_total_physical_memory() / 1024;
|
||||||
|
rec->totalvisiblememorysize = rec->totalvirtualmemorysize;
|
||||||
rec->version = get_osversion( &ver );
|
rec->version = get_osversion( &ver );
|
||||||
if (!match_row( table, row, cond, &status )) free_row_values( table, row );
|
if (!match_row( table, row, cond, &status )) free_row_values( table, row );
|
||||||
else row++;
|
else row++;
|
||||||
|
@ -1066,6 +1066,10 @@ static void test_OperatingSystem( IWbemServices *services )
|
|||||||
{'S','e','r','v','i','c','e','P','a','c','k','M','a','j','o','r','V','e','r','s','i','o','n',0};
|
{'S','e','r','v','i','c','e','P','a','c','k','M','a','j','o','r','V','e','r','s','i','o','n',0};
|
||||||
static const WCHAR servicepackminorW[] =
|
static const WCHAR 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};
|
{'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 totalvisiblememorysizeW[] =
|
||||||
|
{'T','o','t','a','l','V','i','s','i','b','l','e','M','e','m','o','r','y','S','i','z','e',0};
|
||||||
|
static const WCHAR totalvirtualmemorysizeW[] =
|
||||||
|
{'T','o','t','a','l','V','i','r','t','u','a','l','M','e','m','o','r','y','S','i','z','e',0};
|
||||||
BSTR wql = SysAllocString( wqlW ), query = SysAllocString( queryW );
|
BSTR wql = SysAllocString( wqlW ), query = SysAllocString( queryW );
|
||||||
IEnumWbemClassObject *result;
|
IEnumWbemClassObject *result;
|
||||||
IWbemClassObject *obj;
|
IWbemClassObject *obj;
|
||||||
@ -1170,6 +1174,24 @@ static void test_OperatingSystem( IWbemServices *services )
|
|||||||
trace( "version: %s\n", wine_dbgstr_w(V_BSTR( &val )) );
|
trace( "version: %s\n", wine_dbgstr_w(V_BSTR( &val )) );
|
||||||
VariantClear( &val );
|
VariantClear( &val );
|
||||||
|
|
||||||
|
type = 0xdeadbeef;
|
||||||
|
VariantInit( &val );
|
||||||
|
hr = IWbemClassObject_Get( obj, totalvisiblememorysizeW, 0, &val, &type, NULL );
|
||||||
|
ok( hr == S_OK, "failed to get visible memory size %08x\n", hr );
|
||||||
|
ok( V_VT( &val ) == VT_BSTR, "unexpected variant type 0x%x\n", V_VT( &val ) );
|
||||||
|
ok( type == CIM_UINT64, "unexpected type 0x%x\n", type );
|
||||||
|
trace( "totalvisiblememorysize %s\n", wine_dbgstr_w(V_BSTR(&val)) );
|
||||||
|
VariantClear( &val );
|
||||||
|
|
||||||
|
type = 0xdeadbeef;
|
||||||
|
VariantInit( &val );
|
||||||
|
hr = IWbemClassObject_Get( obj, totalvirtualmemorysizeW, 0, &val, &type, NULL );
|
||||||
|
ok( hr == S_OK, "failed to get virtual memory size %08x\n", hr );
|
||||||
|
ok( V_VT( &val ) == VT_BSTR, "unexpected variant type 0x%x\n", V_VT( &val ) );
|
||||||
|
ok( type == CIM_UINT64, "unexpected type 0x%x\n", type );
|
||||||
|
trace( "totalvirtualmemorysize %s\n", wine_dbgstr_w(V_BSTR(&val)) );
|
||||||
|
VariantClear( &val );
|
||||||
|
|
||||||
IWbemClassObject_Release( obj );
|
IWbemClassObject_Release( obj );
|
||||||
IEnumWbemClassObject_Release( result );
|
IEnumWbemClassObject_Release( result );
|
||||||
SysFreeString( query );
|
SysFreeString( query );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user