ReactOS 0.4.16-dev-1453-g06343fa
winsvc_undoc.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _TAG_INFO_NAME_FROM_TAG_IN_PARAMS
 
struct  _TAG_INFO_NAME_FROM_TAG_OUT_PARAMS
 
struct  _TAG_INFO_NAME_FROM_TAG
 

Macros

#define I_ScSetServiceBits   I_ScSetServiceBitsA
 

Typedefs

typedef enum _TAG_INFO_LEVEL TAG_INFO_LEVEL
 
typedef enum _TAG_TYPE TAG_TYPE
 
typedef struct _TAG_INFO_NAME_FROM_TAG_IN_PARAMS TAG_INFO_NAME_FROM_TAG_IN_PARAMS
 
typedef struct _TAG_INFO_NAME_FROM_TAG_IN_PARAMSPTAG_INFO_NAME_FROM_TAG_IN_PARAMS
 
typedef struct _TAG_INFO_NAME_FROM_TAG_OUT_PARAMS TAG_INFO_NAME_FROM_TAG_OUT_PARAMS
 
typedef struct _TAG_INFO_NAME_FROM_TAG_OUT_PARAMSPTAG_INFO_NAME_FROM_TAG_OUT_PARAMS
 
typedef struct _TAG_INFO_NAME_FROM_TAG TAG_INFO_NAME_FROM_TAG
 
typedef struct _TAG_INFO_NAME_FROM_TAGPTAG_INFO_NAME_FROM_TAG
 

Enumerations

enum  _TAG_INFO_LEVEL { TagInfoLevelNameFromTag = 1 , TagInfoLevelNameFromTag = 1 }
 
enum  _TAG_TYPE { TagTypeService = 1 , TagTypeService = 1 }
 

Functions

DWORD WINAPI I_QueryTagInformation (PVOID Unused, TAG_INFO_LEVEL dwInfoLevel, PTAG_INFO_NAME_FROM_TAG InOutParams)
 
DWORD WINAPI I_ScGetCurrentGroupStateW (_In_ SC_HANDLE hSCManager, _In_ LPWSTR pszGroupName, _Out_ LPDWORD pdwGroupState)
 
VOID WINAPI I_ScIsSecurityProcess (VOID)
 
DWORD WINAPI I_ScPnPGetServiceName (_In_ SERVICE_STATUS_HANDLE hServiceStatus, _Out_ LPWSTR lpServiceName, _In_ DWORD cchServiceName)
 
DWORD WINAPI I_ScSendPnPMessage (_In_ SERVICE_STATUS_HANDLE hServiceStatus, _In_ DWORD dwControlCode, _In_ DWORD dwEventType, _In_ PVOID pEventData)
 
BOOL WINAPI I_ScSetServiceBitsA (_In_ SERVICE_STATUS_HANDLE hServiceStatus, _In_ DWORD dwServiceBits, _In_ BOOL bSetBitsOn, _In_ BOOL bUpdateImmediately, _In_ LPSTR lpString)
 
BOOL WINAPI I_ScSetServiceBitsW (_In_ SERVICE_STATUS_HANDLE hServiceStatus, _In_ DWORD dwServiceBits, _In_ BOOL bSetBitsOn, _In_ BOOL bUpdateImmediately, _In_ LPWSTR lpString)
 
DWORD WINAPI I_ScValidatePnpService (_In_ LPCWSTR pszMachineName, _In_ LPCWSTR pszServiceName, _Out_ SERVICE_STATUS_HANDLE *phServiceStatus)
 

Macro Definition Documentation

◆ I_ScSetServiceBits

#define I_ScSetServiceBits   I_ScSetServiceBitsA

Definition at line 94 of file winsvc_undoc.h.

Typedef Documentation

◆ PTAG_INFO_NAME_FROM_TAG

◆ PTAG_INFO_NAME_FROM_TAG_IN_PARAMS

◆ PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS

◆ TAG_INFO_LEVEL

◆ TAG_INFO_NAME_FROM_TAG

◆ TAG_INFO_NAME_FROM_TAG_IN_PARAMS

◆ TAG_INFO_NAME_FROM_TAG_OUT_PARAMS

◆ TAG_TYPE

Enumeration Type Documentation

◆ _TAG_INFO_LEVEL

Enumerator
TagInfoLevelNameFromTag 
TagInfoLevelNameFromTag 

Definition at line 9 of file winsvc_undoc.h.

10{
enum _TAG_INFO_LEVEL TAG_INFO_LEVEL
@ TagInfoLevelNameFromTag
Definition: winsvc_undoc.h:11

◆ _TAG_TYPE

Enumerator
TagTypeService 
TagTypeService 

Definition at line 14 of file winsvc_undoc.h.

15{
17} TAG_TYPE;
@ TagTypeService
Definition: winsvc_undoc.h:16
enum _TAG_TYPE TAG_TYPE

Function Documentation

◆ I_QueryTagInformation()

DWORD WINAPI I_QueryTagInformation ( PVOID  Unused,
TAG_INFO_LEVEL  dwInfoLevel,
PTAG_INFO_NAME_FROM_TAG  InOutParams 
)

Definition at line 3223 of file scm.c.

3226{
3227 /*
3228 * We only support one information class and it
3229 * needs parameters
3230 */
3232 InOutParams == NULL)
3233 {
3235 }
3236
3237 /* Validate input structure */
3238 if (InOutParams->InParams.dwPid == 0 || InOutParams->InParams.dwTag == 0)
3239 {
3241 }
3242
3243 /* Validate output structure */
3244 if (InOutParams->OutParams.pszName != NULL)
3245 {
3247 }
3248
3249 /* Call internal function for the RPC call */
3251}
#define NULL
Definition: types.h:112
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define Unused(x)
Definition: atlwin.h:28
DWORD I_ScQueryServiceTagInfo(PVOID Unused, TAG_INFO_LEVEL dwInfoLevel, PTAG_INFO_NAME_FROM_TAG InOutParams)
Definition: scm.c:3123
TAG_INFO_NAME_FROM_TAG_OUT_PARAMS OutParams
Definition: svcctl.idl:320
TAG_INFO_NAME_FROM_TAG_IN_PARAMS InParams
Definition: svcctl.idl:319
@ TagInfoLevelNameFromTag
Definition: svcctl.idl:300
_In_ DWORD dwInfoLevel
Definition: winsvc.h:422

◆ I_ScGetCurrentGroupStateW()

DWORD WINAPI I_ScGetCurrentGroupStateW ( _In_ SC_HANDLE  hSCManager,
_In_ LPWSTR  pszGroupName,
_Out_ LPDWORD  pdwGroupState 
)

◆ I_ScIsSecurityProcess()

VOID WINAPI I_ScIsSecurityProcess ( VOID  )

Definition at line 872 of file sctrl.c.

873{
874 TRACE("I_ScIsSecurityProcess()\n");
876}
#define TRUE
Definition: types.h:120
static BOOL bSecurityServiceProcess
Definition: sctrl.c:63
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by DispatcherThread().

◆ I_ScPnPGetServiceName()

DWORD WINAPI I_ScPnPGetServiceName ( _In_ SERVICE_STATUS_HANDLE  hServiceStatus,
_Out_ LPWSTR  lpServiceName,
_In_ DWORD  cchServiceName 
)

◆ I_ScSendPnPMessage()

DWORD WINAPI I_ScSendPnPMessage ( _In_ SERVICE_STATUS_HANDLE  hServiceStatus,
_In_ DWORD  dwControlCode,
_In_ DWORD  dwEventType,
_In_ PVOID  pEventData 
)

Definition at line 1629 of file scm.c.

1634{
1635 BOOL bResult;
1636
1637 TRACE("I_ScSendPnPMessage(%p %lu %lu %p)\n",
1638 hServiceStatus, dwControlCode, dwEventType, pEventData);
1639
1641 {
1643 dwControlCode,
1644 dwEventType,
1645 ((PDEV_BROADCAST_HDR)pEventData)->dbch_size,
1646 pEventData);
1647 }
1649 {
1651 bResult = FALSE;
1652 }
1654
1655 return bResult;
1656}
DWORD WINAPI RI_ScSendPnPMessage(_In_ RPC_SERVICE_STATUS_HANDLE hServiceStatus, _In_ DWORD dwControl, _In_ DWORD dwEventType, _In_ DWORD dwEventSize, _In_ LPBYTE pEventData)
Definition: rpcserver.c:6718
#define FALSE
Definition: types.h:117
#define SetLastError(x)
Definition: compat.h:752
unsigned int BOOL
Definition: ntddk_ex.h:94
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:90
DWORD ScmRpcStatusToWinError(RPC_STATUS Status)
Definition: scm.c:146
#define RpcEndExcept
Definition: rpc.h:123
#define RpcTryExcept
Definition: rpc.h:121
#define RpcExcept(expr)
Definition: rpc.h:122
#define RpcExceptionCode()
Definition: rpc.h:127
ULONG_PTR RPC_SERVICE_STATUS_HANDLE
Definition: svcctl.idl:20
SERVICE_STATUS_HANDLE hServiceStatus
Definition: main.c:10

Referenced by ProcessDeviceClassChangeEvent().

◆ I_ScSetServiceBitsA()

BOOL WINAPI I_ScSetServiceBitsA ( _In_ SERVICE_STATUS_HANDLE  hServiceStatus,
_In_ DWORD  dwServiceBits,
_In_ BOOL  bSetBitsOn,
_In_ BOOL  bUpdateImmediately,
_In_ LPSTR  lpString 
)

◆ I_ScSetServiceBitsW()

BOOL WINAPI I_ScSetServiceBitsW ( _In_ SERVICE_STATUS_HANDLE  hServiceStatus,
_In_ DWORD  dwServiceBits,
_In_ BOOL  bSetBitsOn,
_In_ BOOL  bUpdateImmediately,
_In_ LPWSTR  lpString 
)

◆ I_ScValidatePnpService()

DWORD WINAPI I_ScValidatePnpService ( _In_ LPCWSTR  pszMachineName,
_In_ LPCWSTR  pszServiceName,
_Out_ SERVICE_STATUS_HANDLE phServiceStatus 
)

Definition at line 1948 of file scm.c.

1952{
1955 DWORD dwError;
1956
1957 TRACE("I_ScValidatePnpService(%S %S %p)\n",
1958 pszMachineName, pszServiceName, phServiceStatus);
1959
1960 hSCManager = OpenSCManagerW(pszMachineName,
1963 if (hSCManager == NULL)
1964 {
1965 dwError = GetLastError();
1966 goto done;
1967 }
1968
1970 {
1972 (LPWSTR)pszServiceName,
1974 }
1976 {
1978 }
1980
1981 *phServiceStatus = hServiceStatus;
1982
1983done:
1984 if (hSCManager != NULL)
1986
1987 return dwError;
1988}
static SERVICE_STATUS_HANDLE(WINAPI *pRegisterServiceCtrlHandlerExA)(LPCSTR
DWORD WINAPI RI_ScValidatePnPService(_In_ SC_RPC_HANDLE hSCManager, _In_ LPWSTR pszServiceName, _Out_ RPC_SERVICE_STATUS_HANDLE *phServiceStatus)
Definition: rpcserver.c:6816
unsigned long DWORD
Definition: ntddk_ex.h:95
SC_HANDLE hSCManager
Definition: sc.c:12
SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, DWORD dwDesiredAccess)
Definition: scm.c:2107
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
Definition: scm.c:580
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define SC_MANAGER_CONNECT
Definition: winsvc.h:14
#define SERVICES_ACTIVE_DATABASEW
Definition: winsvc.h:8
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by PNP_RegisterNotification().