[SERVICES/ADVAPI32]

Rewrite the command packet transfer code between the service control manager (services.exe) and the service control dispatcher (advapi32.dll). The service name is no longer stored in an array of WCHARs at the end of the command packet. The service name is now stored behind the fixed size command packet header using an offset value in the header to determine the start of the string. The same method will be used to store start arguments to the service dispatcher, but it is not fully implemented yet.

svn path=/trunk/; revision=53358
This commit is contained in:
Eric Kohl
2011-08-21 15:35:19 +00:00
parent fd133d9dca
commit bfd0ce90f1
5 changed files with 101 additions and 45 deletions
+4 -2
View File
@@ -13,10 +13,12 @@
typedef struct _SCM_CONTROL_PACKET
{
DWORD dwSize;
DWORD dwControl;
SERVICE_STATUS_HANDLE hServiceStatus;
DWORD dwSize;
WCHAR szArguments[1];
DWORD dwServiceNameOffset;
DWORD dwArgumentsCount;
DWORD dwArgumentsOffset;
} SCM_CONTROL_PACKET, *PSCM_CONTROL_PACKET;
typedef struct _SCM_REPLY_PACKET