13{
14 SC_HANDLE hManager =
NULL;
15 SC_HANDLE hService =
NULL;
17 DWORD cbBytesNeeded = 0;
21
22#ifdef SCDBG
24#endif
25
30 {
33 goto done;
34 }
35
38 {
41 goto done;
42 }
43
46 0,
47 &cbBytesNeeded))
48 {
49 if (cbBytesNeeded == 0)
50 {
53 goto done;
54 }
55 }
56
58 if (pServiceConfig ==
NULL)
59 {
63 goto done;
64 }
65
67 pServiceConfig,
68 cbBytesNeeded,
69 &cbBytesNeeded))
70 {
73 goto done;
74 }
75
76 _tprintf(
_T(
"[SC] QueryServiceConfig SUCCESS\n\n"));
77
81 {
84 break;
85
88 break;
89
92 break;
93
96 break;
97
99 _tprintf(
_T(
"WIN32_OWN_PROCESS (interactive)\n"));
100 break;
101
103 _tprintf(
_T(
"WIN32_SHARE_PROCESS (interactive)\n"));
104 break;
105
106 default:
108 break;
109 }
110
113 {
116 break;
117
120 break;
121
124 break;
125
128 break;
129
132 break;
133
134 default:
136 break;
137 }
138
141 {
144 break;
145
148 break;
149
152 break;
153
156 break;
157
158 default:
160 break;
161 }
162
170 while (*lpPtr !=
_T(
'\0'))
171 {
176 lpPtr = lpPtr + nLen + 1;
178 }
180
182
183done:
184 if (bResult ==
FALSE)
186
187 if (pServiceConfig !=
NULL)
189
190 if (hService)
192
193 if (hManager)
195
196 return bResult;
197}
static WCHAR ServiceName[]
#define HeapFree(x, y, z)
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
DWORD ReportLastError(void)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
DWORD WINAPI GetLastError(void)
#define QueryServiceConfig
#define SC_MANAGER_CONNECT
#define SERVICE_QUERY_CONFIG
#define SERVICE_DEMAND_START
#define SERVICE_KERNEL_DRIVER
#define SERVICE_WIN32_SHARE_PROCESS
#define SERVICE_ERROR_SEVERE
#define SERVICE_INTERACTIVE_PROCESS
#define SERVICE_AUTO_START
#define SERVICE_BOOT_START
#define SERVICE_ERROR_CRITICAL
#define SERVICE_WIN32_OWN_PROCESS
#define SERVICE_SYSTEM_START
#define SERVICE_FILE_SYSTEM_DRIVER
#define SERVICE_ERROR_IGNORE
#define SERVICE_ERROR_NORMAL