6 #define WIN32_NO_STATUS
13 #include <ndk/rtlfuncs.h>
14 #include <ndk/setypes.h>
21 LPCTSTR lpServiceName
;
22 LPCTSTR lpDisplayName
;
26 LPCTSTR lpBinaryPathName
;
27 LPCTSTR lpLoadOrderGroup
;
29 LPCTSTR lpDependencies
;
30 LPCTSTR lpServiceStartName
;
34 } SERVICE_CREATE_INFO
, *LPSERVICE_CREATE_INFO
;
37 /* control functions */
38 BOOL
Start(LPCTSTR ServiceName
, LPCTSTR
*ServiceArgs
, INT ArgCount
);
39 BOOL
Create(LPCTSTR
*ServiceArgs
, INT ArgCount
);
40 BOOL
Delete(LPCTSTR ServiceName
);
41 BOOL
Control(DWORD Control
, LPCTSTR ServiceName
, LPCTSTR
*Args
, INT ArgCount
);
42 BOOL
Query(LPCTSTR
*ServiceArgs
, DWORD ArgCount
, BOOL bExtended
);
44 LPSERVICE_STATUS_PROCESS
QueryService(LPCTSTR ServiceName
);
45 BOOL
SdShow(LPCTSTR ServiceName
);
46 BOOL
SdSet(LPCTSTR ServiceName
, LPCTSTR SecurityDescriptor
);
47 BOOL
QueryConfig(LPCTSTR ServiceName
);
48 BOOL
SetConfig(LPCTSTR
*ServiceArgs
, INT ArgCount
);
49 BOOL
QueryDescription(LPCTSTR ServiceName
);
50 BOOL
SetDescription(LPCTSTR ServiceName
, LPCTSTR Description
);
51 BOOL
QueryFailure(LPCTSTR ServiceName
);
52 BOOL
SetFailure(LPCTSTR
*ServiceArgs
, INT ArgCount
);
53 BOOL
GetDisplayName(LPCTSTR ServiceName
);
54 BOOL
GetKeyName(LPCTSTR ServiceName
);
55 BOOL
EnumDepend(LPCTSTR ServiceName
);
57 /* print and error functions */
58 VOID
PrintService(LPCTSTR ServiceName
, LPSERVICE_STATUS_PROCESS pStatus
, BOOL bExtended
);
59 VOID
PrintServiceStatus(LPSERVICE_STATUS pStatus
);
60 VOID
ReportLastError(VOID
);
64 ParseCreateConfigArguments(
68 OUT LPSERVICE_CREATE_INFO lpServiceInfo
);
71 ParseFailureArguments(
74 OUT LPCTSTR
*ppServiceName
,
75 OUT LPSERVICE_FAILURE_ACTIONS pFailureActions
);
79 VOID
StartUsage(VOID
);
80 VOID
PauseUsage(VOID
);
81 VOID
InterrogateUsage(VOID
);
82 VOID
ContinueUsage(VOID
);
84 VOID
DeleteUsage(VOID
);
85 VOID
CreateUsage(VOID
);
86 VOID
ControlUsage(VOID
);
87 VOID
SdShowUsage(VOID
);
88 VOID
SdSetUsage(VOID
);
89 VOID
QueryConfigUsage(VOID
);
90 VOID
QueryDescriptionUsage(VOID
);
91 VOID
QueryFailureUsage(VOID
);
92 VOID
SetDescriptionUsage(VOID
);
93 VOID
SetConfigUsage(VOID
);
94 VOID
SetFailureUsage(VOID
);
95 VOID
GetDisplayNameUsage(VOID
);
96 VOID
GetKeyNameUsage(VOID
);
97 VOID
EnumDependUsage(VOID
);