[PATCH] wbemprox: Add Win32_PageFileUsage class.
Louis Lenders
xerox.xerox2000x at gmail.com
Sun Apr 24 16:41:10 CDT 2022
https://bugs.winehq.org/show_bug.cgi?id=52887
Signed-off-by: Louis Lenders <xerox.xerox2000x at gmail.com>
---
dlls/wbemprox/builtin.c | 13 +++++++++++++
dlls/wbemprox/tests/query.c | 26 ++++++++++++++++++++++++++
2 files changed, 39 insertions(+)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index 07a5873208f..69d74d756f8 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -260,6 +260,10 @@ static const struct column col_operatingsystem[] =
{ L"TotalVisibleMemorySize", CIM_UINT64 },
{ L"Version", CIM_STRING|COL_FLAG_DYNAMIC },
};
+static const struct column col_pagefileusage[] =
+{
+ { L"Name", CIM_STRING },
+};
static const struct column col_param[] =
{
{ L"Class", CIM_STRING },
@@ -687,6 +691,10 @@ struct record_operatingsystem
UINT64 totalvisiblememorysize;
const WCHAR *version;
};
+struct record_pagefileusage
+{
+ const WCHAR *name;
+};
struct record_param
{
const WCHAR *class;
@@ -911,6 +919,10 @@ static const struct record_associator data_associator[] =
{ L"Win32_DiskDriveToDiskPartition", L"Win32_DiskPartition", L"Win32_DiskDrive" },
{ L"Win32_LogicalDiskToPartition", L"Win32_LogicalDisk", L"Win32_DiskPartition" },
};
+static const struct record_pagefileusage data_pagefileusage[] =
+{
+ { L"c:\\pagefile.sys", },
+};
static const struct record_param data_param[] =
{
{ L"__SystemSecurity", L"GetSD", -1, L"ReturnValue", CIM_UINT32 },
@@ -4148,6 +4160,7 @@ static struct table cimv2_builtin_classes[] =
{ L"Win32_NetworkAdapter", C(col_networkadapter), 0, 0, NULL, fill_networkadapter },
{ L"Win32_NetworkAdapterConfiguration", C(col_networkadapterconfig), 0, 0, NULL, fill_networkadapterconfig },
{ L"Win32_OperatingSystem", C(col_operatingsystem), 0, 0, NULL, fill_operatingsystem },
+ { L"Win32_PageFileUsage", C(col_pagefileusage), D(data_pagefileusage) },
{ L"Win32_PhysicalMedia", C(col_physicalmedia), D(data_physicalmedia) },
{ L"Win32_PhysicalMemory", C(col_physicalmemory), 0, 0, NULL, fill_physicalmemory },
{ L"Win32_PnPEntity", C(col_pnpentity), 0, 0, NULL, fill_pnpentity },
diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c
index 0a8c97ad166..e0fe78b7fd1 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -1475,6 +1475,31 @@ static void test_Win32_ComputerSystemProduct( IWbemServices *services )
SysFreeString( wql );
}
+static void test_Win32_PageFileUsage( IWbemServices *services )
+{
+ BSTR wql = SysAllocString( L"wql" ), query = SysAllocString( L"SELECT * FROM Win32_PageFileUsage" );
+ IEnumWbemClassObject *result;
+ IWbemClassObject *obj;
+ HRESULT hr;
+ DWORD count;
+
+ hr = IWbemServices_ExecQuery( services, wql, query, 0, NULL, &result );
+ ok( hr == S_OK , "got %#lx\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 );
+ IWbemClassObject_Release( obj );
+ }
+
+ IEnumWbemClassObject_Release( result );
+ SysFreeString( query );
+ SysFreeString( wql );
+}
+
static void test_Win32_PhysicalMemory( IWbemServices *services )
{
BSTR wql = SysAllocString( L"wql" ), query = SysAllocString( L"SELECT * FROM Win32_PhysicalMemory" );
@@ -2226,6 +2251,7 @@ START_TEST(query)
test_Win32_NetworkAdapter( services );
test_Win32_NetworkAdapterConfiguration( services );
test_Win32_OperatingSystem( services );
+ test_Win32_PageFileUsage( services );
test_Win32_PhysicalMemory( services );
test_Win32_PnPEntity( services );
test_Win32_Printer( services );
--
2.36.0
More information about the wine-devel
mailing list