ReactOS 0.4.15-dev-6056-gb29b268
|
#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 87 of file services.h.
#define NTOS_MODE_USER |
Definition at line 21 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 675 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 2382 of file database.c.
Referenced by ShutdownHandlerRoutine().
Definition at line 2171 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 | ( | HANDLE | hControlPipe, |
PWSTR | pServiceName, | ||
SERVICE_STATUS_HANDLE | hServiceStatus, | ||
DWORD | dwControl | ||
) |
Definition at line 1314 of file database.c.
Referenced by RControlService(), RSetServiceStatus(), and ScmAutoShutdownServices().
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 614 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 1088 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 2469 of file database.c.
Referenced by wWinMain().
Definition at line 646 of file config.c.
Referenced by RCloseServiceHandle(), ScmDeleteMarkedServices(), and ScmDeleteRegKey().
Definition at line 816 of file database.c.
Referenced by RCloseServiceHandle().
Definition at line 744 of file database.c.
Referenced by CreateServiceListEntry(), and RCreateServiceW().
Definition at line 1285 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(), 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 2441 of file database.c.
Referenced by wWinMain().
Definition at line 251 of file config.c.
Referenced by CreateServiceListEntry().
Definition at line 2420 of file database.c.
Referenced by RChangeServiceConfig2W(), RChangeServiceConfigW(), RCloseServiceHandle(), RCreateServiceW(), RDeleteService(), ROpenServiceW(), RSetServiceObjectSecurity(), RSetServiceStatus(), ScmAcquireServiceStartLock(), ScmAutoShutdownServices(), ScmGetServiceNameFromTag(), and ScmReleaseServiceStartLock().
Definition at line 2427 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(), 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().
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 RSetServiceStatus(), ScmDeleteServiceRecord(), and ScmLoadService().
Definition at line 741 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 1175 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 2131 of file database.c.
Referenced by RStartServiceA(), and RStartServiceW().
Definition at line 2434 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(), and ScmReleaseServiceStartLock().
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().