Commit 54d21602 authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

wbemprox: Implement Win32_Service.AcceptPause and Win32_Service.AcceptStop.

parent 773f5f8d
...@@ -65,6 +65,10 @@ static const WCHAR class_stdregprovW[] = ...@@ -65,6 +65,10 @@ static const WCHAR class_stdregprovW[] =
static const WCHAR class_videocontrollerW[] = static const WCHAR class_videocontrollerW[] =
{'W','i','n','3','2','_','V','i','d','e','o','C','o','n','t','r','o','l','l','e','r',0}; {'W','i','n','3','2','_','V','i','d','e','o','C','o','n','t','r','o','l','l','e','r',0};
static const WCHAR prop_acceptpauseW[] =
{'A','c','c','e','p','t','P','a','u','s','e',0};
static const WCHAR prop_acceptstopW[] =
{'A','c','c','e','p','t','S','t','o','p',0};
static const WCHAR prop_adapterramW[] = static const WCHAR prop_adapterramW[] =
{'A','d','a','p','t','e','r','R','A','M',0}; {'A','d','a','p','t','e','r','R','A','M',0};
static const WCHAR prop_captionW[] = static const WCHAR prop_captionW[] =
...@@ -249,6 +253,8 @@ static const struct column col_processor[] = ...@@ -249,6 +253,8 @@ static const struct column col_processor[] =
}; };
static const struct column col_service[] = static const struct column col_service[] =
{ {
{ prop_acceptpauseW, CIM_BOOLEAN },
{ prop_acceptstopW, CIM_BOOLEAN },
{ prop_displaynameW, CIM_STRING|COL_FLAG_DYNAMIC }, { prop_displaynameW, CIM_STRING|COL_FLAG_DYNAMIC },
{ prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC|COL_FLAG_KEY }, { prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC|COL_FLAG_KEY },
{ prop_processidW, CIM_UINT32 }, { prop_processidW, CIM_UINT32 },
...@@ -383,6 +389,8 @@ struct record_processor ...@@ -383,6 +389,8 @@ struct record_processor
}; };
struct record_service struct record_service
{ {
int accept_pause;
int accept_stop;
const WCHAR *displayname; const WCHAR *displayname;
const WCHAR *name; const WCHAR *name;
UINT32 process_id; UINT32 process_id;
...@@ -860,6 +868,8 @@ static void fill_service( struct table *table ) ...@@ -860,6 +868,8 @@ static void fill_service( struct table *table )
{ {
status = &services[i].ServiceStatusProcess; status = &services[i].ServiceStatusProcess;
rec = (struct record_service *)(table->data + offset); rec = (struct record_service *)(table->data + offset);
rec->accept_pause = (status->dwControlsAccepted & SERVICE_ACCEPT_PAUSE_CONTINUE) ? -1 : 0;
rec->accept_stop = (status->dwControlsAccepted & SERVICE_ACCEPT_STOP) ? -1 : 0;
rec->displayname = heap_strdupW( services[i].lpDisplayName ); rec->displayname = heap_strdupW( services[i].lpDisplayName );
rec->name = heap_strdupW( services[i].lpServiceName ); rec->name = heap_strdupW( services[i].lpServiceName );
rec->process_id = status->dwProcessId; rec->process_id = status->dwProcessId;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment