ReactOS 0.4.16-dev-602-ge302bac
|
#include "services.h"
#include <winnls.h>
#include <strsafe.h>
#include <pseh/pseh2.h>
#include <debug.h>
Go to the source code of this file.
Classes | |
struct | _SCMGR_HANDLE |
struct | _MANAGER_HANDLE |
struct | _SERVICE_HANDLE |
Macros | |
#define | NDEBUG |
#define | MANAGER_TAG 0x72674D68 /* 'hMgr' */ |
#define | SERVICE_TAG 0x63765368 /* 'hSvc' */ |
#define | INVALID_TAG 0xAABBCCDD |
#define | SC_MANAGER_READ |
#define | SC_MANAGER_WRITE |
#define | SC_MANAGER_EXECUTE |
#define | SERVICE_READ |
#define | SERVICE_WRITE |
#define | SERVICE_EXECUTE |
#define | TAG_ARRAY_SIZE 32 |
Typedefs | |
typedef struct _SCMGR_HANDLE | SCMGR_HANDLE |
typedef struct _MANAGER_HANDLE | MANAGER_HANDLE |
typedef struct _MANAGER_HANDLE * | PMANAGER_HANDLE |
typedef struct _SERVICE_HANDLE | SERVICE_HANDLE |
typedef struct _SERVICE_HANDLE * | PSERVICE_HANDLE |
Variables | |
static GENERIC_MAPPING | ScmManagerMapping |
static GENERIC_MAPPING | ScmServiceMapping |
DWORD | g_dwServiceBits = 0 |
#define INVALID_TAG 0xAABBCCDD |
Definition at line 27 of file rpcserver.c.
#define MANAGER_TAG 0x72674D68 /* 'hMgr' */ |
Definition at line 25 of file rpcserver.c.
#define NDEBUG |
Definition at line 20 of file rpcserver.c.
#define SC_MANAGER_EXECUTE |
Definition at line 60 of file rpcserver.c.
#define SC_MANAGER_READ |
Definition at line 50 of file rpcserver.c.
#define SC_MANAGER_WRITE |
Definition at line 55 of file rpcserver.c.
#define SERVICE_EXECUTE |
Definition at line 79 of file rpcserver.c.
#define SERVICE_READ |
Definition at line 68 of file rpcserver.c.
#define SERVICE_TAG 0x63765368 /* 'hSvc' */ |
Definition at line 26 of file rpcserver.c.
#define SERVICE_WRITE |
Definition at line 75 of file rpcserver.c.
#define TAG_ARRAY_SIZE 32 |
Definition at line 86 of file rpcserver.c.
typedef struct _MANAGER_HANDLE MANAGER_HANDLE |
typedef struct _MANAGER_HANDLE * PMANAGER_HANDLE |
typedef struct _SERVICE_HANDLE * PSERVICE_HANDLE |
typedef struct _SCMGR_HANDLE SCMGR_HANDLE |
typedef struct _SERVICE_HANDLE SERVICE_HANDLE |
DWORD Int_EnumDependentServicesW | ( | HKEY | hServicesKey, |
PSERVICE | lpService, | ||
DWORD | dwServiceState, | ||
PSERVICE * | lpServices, | ||
LPDWORD | pcbBytesNeeded, | ||
LPDWORD | lpServicesReturned | ||
) |
Definition at line 782 of file rpcserver.c.
Referenced by Int_EnumDependentServicesW(), RControlService(), REnumDependentServicesA(), REnumDependentServicesW(), and ScmDeleteService().
void __RPC_FAR *__RPC_USER midl_user_allocate | ( | SIZE_T | len | ) |
Definition at line 6790 of file rpcserver.c.
void __RPC_USER midl_user_free | ( | void __RPC_FAR * | ptr | ) |
Definition at line 6796 of file rpcserver.c.
DWORD WINAPI RChangeServiceConfig2A | ( | SC_RPC_HANDLE | hService, |
SC_RPC_CONFIG_INFOA | Info | ||
) |
Definition at line 5034 of file rpcserver.c.
Referenced by ChangeServiceConfig2A().
DWORD WINAPI RChangeServiceConfig2W | ( | SC_RPC_HANDLE | hService, |
SC_RPC_CONFIG_INFOW | Info | ||
) |
Definition at line 5435 of file rpcserver.c.
Referenced by ChangeServiceConfig2W(), and RChangeServiceConfig2A().
DWORD WINAPI RChangeServiceConfigA | ( | SC_RPC_HANDLE | hService, |
DWORD | dwServiceType, | ||
DWORD | dwStartType, | ||
DWORD | dwErrorControl, | ||
LPSTR | lpBinaryPathName, | ||
LPSTR | lpLoadOrderGroup, | ||
LPDWORD | lpdwTagId, | ||
LPBYTE | lpDependencies, | ||
DWORD | dwDependSize, | ||
LPSTR | lpServiceStartName, | ||
LPBYTE | lpPassword, | ||
DWORD | dwPwSize, | ||
LPSTR | lpDisplayName | ||
) |
Definition at line 3476 of file rpcserver.c.
Referenced by ChangeServiceConfigA().
DWORD WINAPI RChangeServiceConfigW | ( | SC_RPC_HANDLE | hService, |
DWORD | dwServiceType, | ||
DWORD | dwStartType, | ||
DWORD | dwErrorControl, | ||
LPWSTR | lpBinaryPathName, | ||
LPWSTR | lpLoadOrderGroup, | ||
LPDWORD | lpdwTagId, | ||
LPBYTE | lpDependencies, | ||
DWORD | dwDependSize, | ||
LPWSTR | lpServiceStartName, | ||
LPBYTE | lpPassword, | ||
DWORD | dwPwSize, | ||
LPWSTR | lpDisplayName | ||
) |
Definition at line 1935 of file rpcserver.c.
Referenced by ChangeServiceConfigW(), and RChangeServiceConfigA().
DWORD WINAPI RCloseNotifyHandle | ( | LPSC_NOTIFY_RPC_HANDLE | phNotify, |
PBOOL | pfApcFired | ||
) |
Definition at line 6680 of file rpcserver.c.
DWORD WINAPI RCloseServiceHandle | ( | LPSC_RPC_HANDLE | hSCObject | ) |
Definition at line 935 of file rpcserver.c.
Referenced by CloseServiceHandle(), and SC_RPC_HANDLE_rundown().
DWORD WINAPI RControlService | ( | SC_RPC_HANDLE | hService, |
DWORD | dwControl, | ||
LPSERVICE_STATUS | lpServiceStatus | ||
) |
Definition at line 1005 of file rpcserver.c.
Referenced by ControlService().
DWORD WINAPI RControlServiceExA | ( | SC_RPC_HANDLE | hService, |
DWORD | dwControl, | ||
DWORD | dwInfoLevel | ||
) |
Definition at line 6692 of file rpcserver.c.
DWORD WINAPI RControlServiceExW | ( | SC_RPC_HANDLE | hService, |
DWORD | dwControl, | ||
DWORD | dwInfoLevel | ||
) |
Definition at line 6705 of file rpcserver.c.
DWORD WINAPI RCreateServiceA | ( | SC_RPC_HANDLE | hSCManager, |
LPSTR | lpServiceName, | ||
LPSTR | lpDisplayName, | ||
DWORD | dwDesiredAccess, | ||
DWORD | dwServiceType, | ||
DWORD | dwStartType, | ||
DWORD | dwErrorControl, | ||
LPSTR | lpBinaryPathName, | ||
LPSTR | lpLoadOrderGroup, | ||
LPDWORD | lpdwTagId, | ||
LPBYTE | lpDependencies, | ||
DWORD | dwDependSize, | ||
LPSTR | lpServiceStartName, | ||
LPBYTE | lpPassword, | ||
DWORD | dwPwSize, | ||
LPSC_RPC_HANDLE | lpServiceHandle | ||
) |
Definition at line 3607 of file rpcserver.c.
Referenced by CreateServiceA().
DWORD WINAPI RCreateServiceW | ( | SC_RPC_HANDLE | hSCManager, |
LPCWSTR | lpServiceName, | ||
LPCWSTR | lpDisplayName, | ||
DWORD | dwDesiredAccess, | ||
DWORD | dwServiceType, | ||
DWORD | dwStartType, | ||
DWORD | dwErrorControl, | ||
LPCWSTR | lpBinaryPathName, | ||
LPCWSTR | lpLoadOrderGroup, | ||
LPDWORD | lpdwTagId, | ||
LPBYTE | lpDependencies, | ||
DWORD | dwDependSize, | ||
LPCWSTR | lpServiceStartName, | ||
LPBYTE | lpPassword, | ||
DWORD | dwPwSize, | ||
LPSC_RPC_HANDLE | lpServiceHandle | ||
) |
Definition at line 2287 of file rpcserver.c.
Referenced by CreateServiceW(), and RCreateServiceA().
DWORD WINAPI RCreateServiceWOW64A | ( | handle_t | BindingHandle, |
LPSTR | lpServiceName, | ||
LPSTR | lpDisplayName, | ||
DWORD | dwDesiredAccess, | ||
DWORD | dwServiceType, | ||
DWORD | dwStartType, | ||
DWORD | dwErrorControl, | ||
LPSTR | lpBinaryPathName, | ||
LPSTR | lpLoadOrderGroup, | ||
LPDWORD | lpdwTagId, | ||
LPBYTE | lpDependencies, | ||
DWORD | dwDependSize, | ||
LPSTR | lpServiceStartName, | ||
LPBYTE | lpPassword, | ||
DWORD | dwPwSize, | ||
LPSC_RPC_HANDLE | lpServiceHandle | ||
) |
Definition at line 6556 of file rpcserver.c.
DWORD WINAPI RCreateServiceWOW64W | ( | handle_t | BindingHandle, |
LPWSTR | lpServiceName, | ||
LPWSTR | lpDisplayName, | ||
DWORD | dwDesiredAccess, | ||
DWORD | dwServiceType, | ||
DWORD | dwStartType, | ||
DWORD | dwErrorControl, | ||
LPWSTR | lpBinaryPathName, | ||
LPWSTR | lpLoadOrderGroup, | ||
LPDWORD | lpdwTagId, | ||
LPBYTE | lpDependencies, | ||
DWORD | dwDependSize, | ||
LPWSTR | lpServiceStartName, | ||
LPBYTE | lpPassword, | ||
DWORD | dwPwSize, | ||
LPSC_RPC_HANDLE | lpServiceHandle | ||
) |
Definition at line 6582 of file rpcserver.c.
DWORD WINAPI RDeleteService | ( | SC_RPC_HANDLE | hService | ) |
Definition at line 1240 of file rpcserver.c.
Referenced by DeleteService().
DWORD WINAPI REnumDependentServicesA | ( | SC_RPC_HANDLE | hService, |
DWORD | dwServiceState, | ||
LPBYTE | lpServices, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned | ||
) |
Definition at line 3760 of file rpcserver.c.
Referenced by EnumDependentServicesA().
DWORD WINAPI REnumDependentServicesW | ( | SC_RPC_HANDLE | hService, |
DWORD | dwServiceState, | ||
LPBYTE | lpServices, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned | ||
) |
Definition at line 2722 of file rpcserver.c.
Referenced by EnumDependentServicesW().
DWORD WINAPI REnumServiceGroupW | ( | SC_RPC_HANDLE | hSCManager, |
DWORD | dwServiceType, | ||
DWORD | dwServiceState, | ||
LPBYTE | lpBuffer, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned, | ||
LPBOUNDED_DWORD_256K | lpResumeIndex, | ||
LPCWSTR | pszGroupName | ||
) |
Definition at line 4768 of file rpcserver.c.
Referenced by EnumServiceGroupW(), and REnumServicesStatusW().
DWORD WINAPI REnumServicesStatusA | ( | SC_RPC_HANDLE | hSCManager, |
DWORD | dwServiceType, | ||
DWORD | dwServiceState, | ||
LPBYTE | lpBuffer, | ||
DWORD | dwBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned, | ||
LPBOUNDED_DWORD_256K | lpResumeHandle | ||
) |
Definition at line 3914 of file rpcserver.c.
Referenced by EnumServicesStatusA().
DWORD WINAPI REnumServicesStatusExA | ( | SC_RPC_HANDLE | hSCManager, |
SC_ENUM_TYPE | InfoLevel, | ||
DWORD | dwServiceType, | ||
DWORD | dwServiceState, | ||
LPBYTE | lpBuffer, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned, | ||
LPBOUNDED_DWORD_256K | lpResumeIndex, | ||
LPCSTR | pszGroupName | ||
) |
Definition at line 6111 of file rpcserver.c.
Referenced by EnumServicesStatusExA().
DWORD WINAPI REnumServicesStatusExW | ( | SC_RPC_HANDLE | hSCManager, |
SC_ENUM_TYPE | InfoLevel, | ||
DWORD | dwServiceType, | ||
DWORD | dwServiceState, | ||
LPBYTE | lpBuffer, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned, | ||
LPBOUNDED_DWORD_256K | lpResumeIndex, | ||
LPCWSTR | pszGroupName | ||
) |
Definition at line 6250 of file rpcserver.c.
Referenced by EnumServicesStatusExW(), and REnumServicesStatusExA().
DWORD WINAPI REnumServicesStatusW | ( | SC_RPC_HANDLE | hSCManager, |
DWORD | dwServiceType, | ||
DWORD | dwServiceState, | ||
LPBYTE | lpBuffer, | ||
DWORD | dwBufSize, | ||
LPBOUNDED_DWORD_256K | pcbBytesNeeded, | ||
LPBOUNDED_DWORD_256K | lpServicesReturned, | ||
LPBOUNDED_DWORD_256K | lpResumeHandle | ||
) |
Definition at line 2857 of file rpcserver.c.
Referenced by EnumServiceGroupW(), EnumServicesStatusW(), and REnumServicesStatusA().
Definition at line 6782 of file rpcserver.c.
DWORD WINAPI RGetNotifyResults | ( | SC_NOTIFY_RPC_HANDLE | hNotify, |
PSC_RPC_NOTIFY_PARAMS_LIST * | ppNotifyParams | ||
) |
Definition at line 6668 of file rpcserver.c.
DWORD WINAPI RGetServiceDisplayNameA | ( | SC_RPC_HANDLE | hSCManager, |
LPCSTR | lpServiceName, | ||
LPSTR | lpDisplayName, | ||
LPBOUNDED_DWORD_4K | lpcchBuffer | ||
) |
Definition at line 4475 of file rpcserver.c.
Referenced by GetServiceDisplayNameA().
DWORD WINAPI RGetServiceDisplayNameW | ( | SC_RPC_HANDLE | hSCManager, |
LPCWSTR | lpServiceName, | ||
LPWSTR | lpDisplayName, | ||
DWORD * | lpcchBuffer | ||
) |
Definition at line 3332 of file rpcserver.c.
Referenced by GetServiceDisplayNameW().
DWORD WINAPI RGetServiceKeyNameA | ( | SC_RPC_HANDLE | hSCManager, |
LPCSTR | lpDisplayName, | ||
LPSTR | lpServiceName, | ||
LPBOUNDED_DWORD_4K | lpcchBuffer | ||
) |
Definition at line 4597 of file rpcserver.c.
Referenced by GetServiceKeyNameA().
DWORD WINAPI RGetServiceKeyNameW | ( | SC_RPC_HANDLE | hSCManager, |
LPCWSTR | lpDisplayName, | ||
LPWSTR | lpServiceName, | ||
DWORD * | lpcchBuffer | ||
) |
Definition at line 3395 of file rpcserver.c.
Referenced by GetServiceKeyNameW().
DWORD WINAPI RI_ScGetCurrentGroupStateW | ( | SC_RPC_HANDLE | hSCManager, |
LPWSTR | lpLoadOrderGroup, | ||
LPDWORD | lpState | ||
) |
Definition at line 4711 of file rpcserver.c.
Referenced by I_ScGetCurrentGroupStateW().
DWORD WINAPI RI_ScQueryServiceTagInfo | ( | SC_RPC_HANDLE | hSCManager, |
TAG_INFO_LEVEL | dwInfoLevel, | ||
PTAG_INFO_NAME_FROM_TAG_IN_PARAMS * | lpInParams, | ||
PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS * | lpOutParams | ||
) |
Definition at line 6608 of file rpcserver.c.
Referenced by I_ScQueryServiceTagInfo().
DWORD WINAPI RI_ScSetServiceBitsA | ( | RPC_SERVICE_STATUS_HANDLE | hServiceStatus, |
DWORD | dwServiceBits, | ||
int | bSetBitsOn, | ||
int | bUpdateImmediately, | ||
char * | lpString | ||
) |
Definition at line 3452 of file rpcserver.c.
Referenced by I_ScSetServiceBitsA().
DWORD WINAPI RI_ScSetServiceBitsW | ( | RPC_SERVICE_STATUS_HANDLE | hServiceStatus, |
DWORD | dwServiceBits, | ||
int | bSetBitsOn, | ||
int | bUpdateImmediately, | ||
wchar_t * | lpString | ||
) |
Definition at line 1881 of file rpcserver.c.
Referenced by I_ScSetServiceBitsW(), and RI_ScSetServiceBitsA().
DWORD WINAPI RI_ScValidatePnPService | ( | _In_ SC_RPC_HANDLE | hSCManager, |
_In_ LPWSTR | pszServiceName, | ||
_Out_ RPC_SERVICE_STATUS_HANDLE * | phServiceStatus | ||
) |
Definition at line 6729 of file rpcserver.c.
Referenced by I_ScValidatePnpService().
DWORD WINAPI RLockServiceDatabase | ( | SC_RPC_HANDLE | hSCManager, |
LPSC_RPC_LOCK | lpLock | ||
) |
Definition at line 1298 of file rpcserver.c.
Referenced by LockServiceDatabase().
DWORD WINAPI RNotifyBootConfigStatus | ( | SVCCTL_HANDLEW | lpMachineName, |
DWORD | BootAcceptable | ||
) |
Definition at line 1864 of file rpcserver.c.
Referenced by NotifyBootConfigStatus().
DWORD WINAPI RNotifyServiceStatusChange | ( | SC_RPC_HANDLE | hService, |
SC_RPC_NOTIFY_PARAMS | NotifyParams, | ||
GUID * | pClientProcessGuid, | ||
GUID * | pSCMProcessGuid, | ||
PBOOL | pfCreateRemoteQueue, | ||
LPSC_NOTIFY_RPC_HANDLE | phNotify | ||
) |
Definition at line 6652 of file rpcserver.c.
DWORD WINAPI ROpenSCManagerA | ( | LPSTR | lpMachineName, |
LPSTR | lpDatabaseName, | ||
DWORD | dwDesiredAccess, | ||
LPSC_RPC_HANDLE | lpScHandle | ||
) |
Definition at line 4021 of file rpcserver.c.
Referenced by OpenSCManagerA().
DWORD WINAPI ROpenSCManagerW | ( | LPWSTR | lpMachineName, |
LPWSTR | lpDatabaseName, | ||
DWORD | dwDesiredAccess, | ||
LPSC_RPC_HANDLE | lpScHandle | ||
) |
Definition at line 2883 of file rpcserver.c.
Referenced by OpenSCManagerW(), and ROpenSCManagerA().
DWORD WINAPI ROpenServiceA | ( | SC_RPC_HANDLE | hSCManager, |
LPSTR | lpServiceName, | ||
DWORD | dwDesiredAccess, | ||
LPSC_RPC_HANDLE | lpServiceHandle | ||
) |
Definition at line 4059 of file rpcserver.c.
Referenced by OpenServiceA().
Definition at line 6771 of file rpcserver.c.
DWORD WINAPI ROpenServiceW | ( | SC_RPC_HANDLE | hSCManager, |
LPWSTR | lpServiceName, | ||
DWORD | dwDesiredAccess, | ||
LPSC_RPC_HANDLE | lpServiceHandle | ||
) |
Definition at line 2935 of file rpcserver.c.
Referenced by OpenServiceW(), and ROpenServiceA().
DWORD WINAPI RQueryServiceConfig2A | ( | SC_RPC_HANDLE | hService, |
DWORD | dwInfoLevel, | ||
LPBYTE | lpBuffer, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_8K | pcbBytesNeeded | ||
) |
Definition at line 5567 of file rpcserver.c.
Referenced by QueryServiceConfig2A().
DWORD WINAPI RQueryServiceConfig2W | ( | SC_RPC_HANDLE | hService, |
DWORD | dwInfoLevel, | ||
LPBYTE | lpBuffer, | ||
DWORD | cbBufSize, | ||
LPBOUNDED_DWORD_8K | pcbBytesNeeded | ||
) |
Definition at line 5814 of file rpcserver.c.