From b39d0c1bdca4a4ef36c34f61e3c3432e287e9925 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Wed, 20 Jun 2012 12:06:17 +0200 Subject: [PATCH] wbemprox: Implement Win32_Process.Handle. --- dlls/wbemprox/builtin.c | 8 ++++++++ dlls/wbemprox/wbemprox_private.h | 1 + 2 files changed, 9 insertions(+) diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c index a1ef65ee002..5c6a4fe61c0 100644 --- a/dlls/wbemprox/builtin.c +++ b/dlls/wbemprox/builtin.c @@ -48,6 +48,8 @@ static const WCHAR prop_captionW[] = {'C','a','p','t','i','o','n',0}; static const WCHAR prop_descriptionW[] = {'D','e','s','c','r','i','p','t','i','o','n',0}; +static const WCHAR prop_handleW[] = + {'H','a','n','d','l','e',0}; static const WCHAR prop_manufacturerW[] = {'M','a','n','u','f','a','c','t','u','r','e','r',0}; static const WCHAR prop_modelW[] = @@ -87,6 +89,7 @@ static const struct column col_process[] = { { prop_captionW, CIM_STRING|COL_FLAG_DYNAMIC }, { prop_descriptionW, CIM_STRING|COL_FLAG_DYNAMIC }, + { prop_handleW, CIM_STRING|COL_FLAG_DYNAMIC|COL_FLAG_KEY }, { prop_pprocessidW, CIM_UINT32 }, { prop_processidW, CIM_UINT32 }, { prop_threadcountW, CIM_UINT32 } @@ -142,6 +145,7 @@ struct record_process { const WCHAR *caption; const WCHAR *description; + const WCHAR *handle; UINT32 pprocess_id; UINT32 process_id; UINT32 thread_count; @@ -167,6 +171,8 @@ static const struct record_processor data_processor[] = static void fill_process( struct table *table ) { + static const WCHAR fmtW[] = {'%','u',0}; + WCHAR handle[11]; struct record_process *rec; PROCESSENTRY32W entry; HANDLE snap; @@ -191,6 +197,8 @@ static void fill_process( struct table *table ) rec = (struct record_process *)(table->data + offset); rec->caption = heap_strdupW( entry.szExeFile ); rec->description = heap_strdupW( entry.szExeFile ); + sprintfW( handle, fmtW, entry.th32ProcessID ); + rec->handle = heap_strdupW( handle ); rec->process_id = entry.th32ProcessID; rec->pprocess_id = entry.th32ParentProcessID; rec->thread_count = entry.cntThreads; diff --git a/dlls/wbemprox/wbemprox_private.h b/dlls/wbemprox/wbemprox_private.h index 30aeccac81f..779d43db206 100644 --- a/dlls/wbemprox/wbemprox_private.h +++ b/dlls/wbemprox/wbemprox_private.h @@ -23,6 +23,7 @@ #define COL_TYPE_MASK 0x0000ffff #define COL_FLAG_DYNAMIC 0x00010000 +#define COL_FLAG_KEY 0x00020000 struct column {