ReactOS 0.4.16-dev-823-g9a093ec
|
#include <stdio.h>
#include <stdlib.h>
#include <windef.h>
#include <winbase.h>
#include <winsvc.h>
#include <winreg.h>
#include <winuser.h>
#include <netevent.h>
#include <ndk/setypes.h>
#include <ndk/obfuncs.h>
#include <ndk/rtlfuncs.h>
#include <services/services.h>
#include <svcctl_s.h>
#include "resource.h"
Go to the source code of this file.
Classes | |
struct | _SERVICE_GROUP |
struct | _SERVICE_IMAGE |
struct | _SERVICE |
struct | _START_LOCK |
Macros | |
#define | WIN32_NO_STATUS |
#define | _INC_WINDOWS |
#define | COM_NO_WINDOWS_H |
#define | NTOS_MODE_USER |
#define | LOCK_TAG 0x4C697041 /* 'ApiL' */ |
Typedefs | |
typedef struct _SERVICE_GROUP | SERVICE_GROUP |
typedef struct _SERVICE_GROUP * | PSERVICE_GROUP |
typedef struct _SERVICE_IMAGE | SERVICE_IMAGE |
typedef struct _SERVICE_IMAGE * | PSERVICE_IMAGE |
typedef struct _SERVICE | SERVICE |
typedef struct _SERVICE * | PSERVICE |
typedef struct _START_LOCK | START_LOCK |
typedef struct _START_LOCK * | PSTART_LOCK |
Variables | |
LIST_ENTRY | ServiceListHead |
LIST_ENTRY | GroupListHead |
LIST_ENTRY | ImageListHead |
BOOL | ScmInitialize |
BOOL | ScmShutdown |
BOOL | ScmLiveSetup |
BOOL | ScmSetupInProgress |
PSECURITY_DESCRIPTOR | pPipeSD |
#define _INC_WINDOWS |
Definition at line 12 of file services.h.
#define COM_NO_WINDOWS_H |
Definition at line 13 of file services.h.
#define LOCK_TAG 0x4C697041 /* 'ApiL' */ |
Definition at line 90 of file services.h.
#define NTOS_MODE_USER |
Definition at line 22 of file services.h.
#define WIN32_NO_STATUS |
Definition at line 11 of file services.h.
typedef struct _SERVICE_GROUP * PSERVICE_GROUP |
typedef struct _SERVICE_IMAGE * PSERVICE_IMAGE |
typedef struct _START_LOCK * PSTART_LOCK |
typedef struct _SERVICE_GROUP SERVICE_GROUP |
typedef struct _SERVICE_IMAGE SERVICE_IMAGE |
typedef struct _START_LOCK START_LOCK |
Definition at line 39 of file services.c.
Definition at line 336 of file controlset.c.
Referenced by RNotifyBootConfigStatus().
DWORD ScmAcquireServiceStartLock | ( | IN BOOL | IsServiceController, |
OUT LPSC_RPC_LOCK | lpLock | ||
) |
Definition at line 31 of file lock.c.
Referenced by RLockServiceDatabase(), ScmStartService(), and wWinMain().
Definition at line 2276 of file database.c.
Referenced by ShutdownHandlerRoutine().
Definition at line 2065 of file database.c.
Referenced by wWinMain().
DWORD ScmControlDriver | ( | PSERVICE | lpService, |
DWORD | dwControl, | ||
LPSERVICE_STATUS | lpServiceStatus | ||
) |
Definition at line 335 of file driver.c.
Referenced by RControlService().
DWORD ScmControlService | ( | _In_ HANDLE | hControlPipe, |
_In_ PCWSTR | pServiceName, | ||
_In_ DWORD | dwControl, | ||
_In_ SERVICE_STATUS_HANDLE | hServiceStatus | ||
) |
Definition at line 1569 of file database.c.
Referenced by RControlService(), ScmAutoShutdownServices(), and ScmStopThread().
DWORD ScmCreateDefaultServiceSD | ( | PSECURITY_DESCRIPTOR * | ppSecurityDescriptor | ) |
Definition at line 320 of file security.c.
Referenced by CreateServiceListEntry(), and RCreateServiceW().
Definition at line 235 of file groupdb.c.
Referenced by ScmCreateServiceDatabase().
Definition at line 275 of file controlset.c.
Referenced by wWinMain().
DWORD ScmCreateNewServiceRecord | ( | LPCWSTR | lpServiceName, |
PSERVICE * | lpServiceRecord, | ||
DWORD | dwServiceType, | ||
DWORD | dwStartType | ||
) |
Definition at line 767 of file database.c.
Referenced by CreateServiceListEntry(), and RCreateServiceW().
Definition at line 1187 of file database.c.
Referenced by wWinMain().
Definition at line 72 of file config.c.
Referenced by RCreateServiceW().
DWORD ScmDecryptPassword | ( | _In_ PVOID | ContextHandle, |
_In_ PBYTE | pPassword, | ||
_In_ DWORD | dwPasswordSize, | ||
_Out_ PWSTR * | pDecryptedPassword | ||
) |
Definition at line 708 of file config.c.
Referenced by RChangeServiceConfigW(), and RCreateServiceW().
Definition at line 2363 of file database.c.
Referenced by wWinMain().
Definition at line 646 of file config.c.
Referenced by ScmDeleteMarkedServices(), ScmDeleteRegKey(), and ScmDeleteService().
Definition at line 816 of file database.c.
Referenced by ScmDeleteService().
Definition at line 939 of file database.c.
Referenced by RCloseServiceHandle(), RSetServiceStatus(), and ScmStopThread().
Definition at line 744 of file database.c.
Referenced by CreateServiceListEntry(), and RCreateServiceW().
Definition at line 1384 of file database.c.
Referenced by wWinMain().
Definition at line 686 of file database.c.
Referenced by RCreateServiceW(), RGetServiceKeyNameA(), and RGetServiceKeyNameW().
Definition at line 657 of file database.c.
Referenced by Int_EnumDependentServicesW(), RCreateServiceW(), RGetServiceDisplayNameA(), RGetServiceDisplayNameW(), RI_ScValidatePnPService(), and ROpenServiceW().
Definition at line 715 of file database.c.
Referenced by REnumServiceGroupW(), and REnumServicesStatusExW().
PSERVICE_GROUP ScmGetServiceGroupByName | ( | _In_ LPCWSTR | lpGroupName | ) |
Definition at line 26 of file groupdb.c.
Referenced by RI_ScGetCurrentGroupStateW().
DWORD ScmGetServiceNameFromTag | ( | PTAG_INFO_NAME_FROM_TAG_IN_PARAMS | InParams, |
PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS * | OutParams | ||
) |
Definition at line 373 of file security.c.
Referenced by wWinMain().
Definition at line 2335 of file database.c.
Referenced by wWinMain().
Definition at line 251 of file config.c.
Referenced by CreateServiceListEntry().
Definition at line 2314 of file database.c.
Referenced by RChangeServiceConfig2W(), RChangeServiceConfigW(), RCloseServiceHandle(), RCreateServiceW(), RDeleteService(), ROpenServiceW(), RSetServiceObjectSecurity(), RSetServiceStatus(), ScmAcquireServiceStartLock(), ScmAutoShutdownServices(), ScmGetServiceNameFromTag(), ScmReleaseServiceStartLock(), and ScmStopThread().
Definition at line 2321 of file database.c.
Referenced by REnumServiceGroupW(), REnumServicesStatusExW(), RI_ScGetCurrentGroupStateW(), RQueryServiceConfig2A(), RQueryServiceConfig2W(), RQueryServiceConfigA(), RQueryServiceConfigW(), RQueryServiceObjectSecurity(), RQueryServiceStatus(), RQueryServiceStatusEx(), ScmQueryServiceLockStatusA(), and ScmQueryServiceLockStatusW().
Definition at line 174 of file services.c.
Referenced by RControlService(), RSetServiceStatus(), ScmLoadService(), ScmStopThread(), and ScmWaitForServiceConnect().
Definition at line 223 of file config.c.
Referenced by RDeleteService().
Definition at line 42 of file config.c.
Referenced by RChangeServiceConfig2W(), RChangeServiceConfigW(), RQueryServiceConfig2A(), RQueryServiceConfig2W(), RQueryServiceConfigA(), RQueryServiceConfigW(), RSetServiceObjectSecurity(), and ScmMarkServiceForDelete().
VOID ScmQueryServiceLockStatusA | ( | OUT LPQUERY_SERVICE_LOCK_STATUSA | lpLockStatus | ) |
Definition at line 159 of file lock.c.
Referenced by RQueryServiceLockStatusA().
VOID ScmQueryServiceLockStatusW | ( | OUT LPQUERY_SERVICE_LOCK_STATUSW | lpLockStatus | ) |
Definition at line 127 of file lock.c.
Referenced by RQueryServiceLockStatusW().
DWORD ScmReadDependencies | ( | HKEY | hServiceKey, |
LPWSTR * | lpDependencies, | ||
DWORD * | lpdwDependenciesLength | ||
) |
Definition at line 349 of file config.c.
Referenced by RQueryServiceConfigA(), and RQueryServiceConfigW().
DWORD ScmReadSecurityDescriptor | ( | _In_ HKEY | hServiceKey, |
_Out_ PSECURITY_DESCRIPTOR * | ppSecurityDescriptor | ||
) |
Definition at line 566 of file config.c.
Referenced by CreateServiceListEntry().
Definition at line 270 of file config.c.
Referenced by CreateServiceListEntry(), RQueryServiceConfig2A(), RQueryServiceConfig2W(), RQueryServiceConfigA(), RQueryServiceConfigW(), and ScmReadDependencies().
Definition at line 931 of file database.c.
Referenced by RCreateServiceW(), ROpenServiceW(), RSetServiceStatus(), and ScmLoadService().
DWORD ScmReleaseServiceStartLock | ( | IN OUT LPSC_RPC_LOCK | lpLock | ) |
Definition at line 82 of file lock.c.
Referenced by RUnlockServiceDatabase(), ScmStartService(), and wWinMain().
VOID ScmRemoveServiceImage | ( | PSERVICE_IMAGE | pServiceImage | ) |
Definition at line 622 of file database.c.
Referenced by ScmDeleteServiceRecord(), ScmLoadService(), and ScmStopThread().
Definition at line 402 of file controlset.c.
Referenced by RNotifyBootConfigStatus().
Definition at line 61 of file groupdb.c.
Referenced by CreateServiceListEntry(), RChangeServiceConfigW(), RCreateServiceW(), and ScmDeleteServiceRecord().
Definition at line 469 of file config.c.
Referenced by RChangeServiceConfigW(), and RCreateServiceW().
Definition at line 398 of file security.c.
Referenced by wWinMain().
Definition at line 1274 of file database.c.
Referenced by ShutdownHandlerRoutine().
Definition at line 314 of file driver.c.
Referenced by ScmLoadService().
Definition at line 107 of file rpcserver.c.
Referenced by wWinMain().
Definition at line 2024 of file database.c.
Referenced by RStartServiceA(), and RStartServiceW().
Definition at line 2328 of file database.c.
Referenced by RChangeServiceConfig2W(), RChangeServiceConfigW(), RCloseServiceHandle(), RCreateServiceW(), RDeleteService(), REnumServiceGroupW(), REnumServicesStatusExW(), RI_ScGetCurrentGroupStateW(), ROpenServiceW(), RQueryServiceConfig2A(), RQueryServiceConfig2W(), RQueryServiceConfigA(), RQueryServiceConfigW(), RQueryServiceObjectSecurity(), RQueryServiceStatus(), RQueryServiceStatusEx(), RSetServiceObjectSecurity(), RSetServiceStatus(), ScmAcquireServiceStartLock(), ScmAutoShutdownServices(), ScmGetServiceNameFromTag(), ScmQueryServiceLockStatusA(), ScmQueryServiceLockStatusW(), ScmReleaseServiceStartLock(), and ScmStopThread().
Definition at line 207 of file services.c.
Referenced by ScmCreateServiceDatabase().
Definition at line 117 of file config.c.
Referenced by RChangeServiceConfigW(), and RCreateServiceW().
DWORD ScmWriteSecurityDescriptor | ( | _In_ HKEY | hServiceKey, |
_In_ PSECURITY_DESCRIPTOR | pSecurityDescriptor | ||
) |
Definition at line 530 of file config.c.
Referenced by CreateServiceListEntry(), RCreateServiceW(), and RSetServiceObjectSecurity().
Definition at line 142 of file services.c.
Referenced by ScmCreateOrReferenceServiceImage().
|
extern |
Definition at line 19 of file groupdb.c.
Referenced by CreateGroupListRoutine(), ScmAutoStartServices(), ScmCreateGroupList(), ScmGetServiceGroupByName(), and ScmSetServiceGroup().
|
extern |
Definition at line 28 of file database.c.
Referenced by ScmCreateOrReferenceServiceImage(), ScmCreateServiceDatabase(), and ScmGetServiceImageByImagePath().
|
extern |
Definition at line 27 of file security.c.
Referenced by ScmCreateNewControlPipe(), ScmCreatePipeSD(), and ScmFreePipeSD().
|
extern |
Definition at line 28 of file services.c.
Referenced by ScmAutoStartServices(), ScmStartService(), and wWinMain().
|
extern |
Definition at line 30 of file services.c.
Referenced by CheckForLiveCD(), and ScmLogonService().
|
extern |
Definition at line 31 of file services.c.
Referenced by CheckForLiveCD(), and ScmLogonService().
|
extern |
Definition at line 29 of file services.c.
Referenced by RChangeServiceConfig2W(), RChangeServiceConfigW(), RControlService(), RCreateServiceW(), RDeleteService(), REnumServiceGroupW(), REnumServicesStatusExW(), RI_ScGetCurrentGroupStateW(), RI_ScSetServiceBitsA(), RI_ScSetServiceBitsW(), ROpenSCManagerW(), ROpenServiceW(), RQueryServiceConfig2A(), RQueryServiceConfig2W(), RQueryServiceConfigA(), RQueryServiceConfigW(), RQueryServiceStatus(), RQueryServiceStatusEx(), RStartServiceA(), RStartServiceW(), and ShutdownHandlerRoutine().
|
extern |
Definition at line 29 of file database.c.
Referenced by REnumServiceGroupW(), REnumServicesStatusExW(), ScmAutoShutdownServices(), ScmAutoStartServices(), ScmCreateNewServiceRecord(), ScmCreateServiceDatabase(), ScmDeleteMarkedServices(), ScmGetBootAndSystemDriverState(), ScmGetServiceEntryByDisplayName(), ScmGetServiceEntryByName(), ScmGetServiceEntryByResumeCount(), and ScmGetServiceNameFromTag().