14 SC_HANDLE hManager =
NULL;
15 SC_HANDLE hService =
NULL;
17 DWORD cbBytesNeeded = 0;
49 if (cbBytesNeeded == 0)
58 if (pServiceConfig ==
NULL)
76 _tprintf(
_T(
"[SC] QueryServiceConfig SUCCESS\n\n"));
99 _tprintf(
_T(
"WIN32_OWN_PROCESS (interactive)\n"));
103 _tprintf(
_T(
"WIN32_SHARE_PROCESS (interactive)\n"));
170 while (*lpPtr !=
_T(
'\0'))
176 lpPtr = lpPtr + nLen + 1;
184 if (bResult ==
FALSE)
187 if (pServiceConfig !=
NULL)
201 SC_HANDLE hManager =
NULL;
202 SC_HANDLE hService =
NULL;
229 if (hManager ==
NULL)
239 if (hService ==
NULL)
263 _tprintf(
_T(
"[SC] ChangeServiceConfig SUCCESS\n\n"));
266 if (bResult ==
FALSE)
#define SERVICE_ERROR_IGNORE
#define SERVICE_SYSTEM_START
#define SERVICE_ERROR_NORMAL
#define SC_MANAGER_CONNECT
JS_SERVICE_STATE ServiceInfo(LPCTSTR ServiceName)
Return service status by service name.
#define SERVICE_INTERACTIVE_PROCESS
#define QueryServiceConfig
DWORD WINAPI GetLastError(VOID)
#define ChangeServiceConfig
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
size_t __cdecl _tcslen(const _TCHAR *str)
#define SERVICE_BOOT_START
#define SERVICE_FILE_SYSTEM_DRIVER
#define SERVICE_WIN32_OWN_PROCESS
BOOL SetConfig(LPCTSTR *ServiceArgs, INT ArgCount)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define SERVICE_CHANGE_CONFIG
#define SERVICE_WIN32_SHARE_PROCESS
VOID SetConfigUsage(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID ReportLastError(VOID)
#define SERVICE_ERROR_SEVERE
#define SERVICE_AUTO_START
#define SERVICE_ERROR_CRITICAL
#define SERVICE_QUERY_CONFIG
#define SERVICE_DEMAND_START
#define HeapFree(x, y, z)
BOOL QueryConfig(LPCTSTR ServiceName)
BOOL ParseCreateConfigArguments(LPCTSTR *ServiceArgs, INT ArgCount, BOOL bChangeService, OUT LPSERVICE_CREATE_INFO lpServiceInfo)
#define SERVICE_KERNEL_DRIVER