6 #define WIN32_NO_STATUS
10 #include <services/services.h>
12 typedef struct _SERVICE
14 LIST_ENTRY ServiceListEntry
;
17 UNICODE_STRING ServiceGroup
;
20 SERVICE_STATUS Status
;
27 BOOLEAN ServiceVisited
;
29 HANDLE ControlPipeHandle
;
33 WCHAR szServiceName
[1];
37 /* VARIABLES ***************************************************************/
39 extern BOOL ScmShutdown
;
42 /* FUNCTIONS ***************************************************************/
46 DWORD
ScmWriteDependencies(HKEY hServiceKey
,
47 LPWSTR lpDependencies
,
48 DWORD dwDependenciesLength
);
53 NTSTATUS
ScmCreateServiceDataBase(VOID
);
54 VOID
ScmGetBootAndSystemDriverState(VOID
);
55 VOID
ScmAutoStartServices(VOID
);
57 PSERVICE
ScmGetServiceEntryByName(LPWSTR lpServiceName
);
58 PSERVICE
ScmGetServiceEntryByDisplayName(LPWSTR lpDisplayName
);
59 DWORD
ScmCreateNewServiceRecord(LPWSTR lpServiceName
,
60 PSERVICE
*lpServiceRecord
);
61 DWORD
ScmMarkServiceForDelete(PSERVICE pService
);
66 VOID
ScmStartRpcServer(VOID
);
71 VOID
PrintString(LPCSTR fmt
, ...);