ReactOS  0.4.14-dev-55-g2da92ac
svcctl.idl
Go to the documentation of this file.
1 /*
2  * Service Control Manager (SCM) interface definition
3  */
4 
5 #include <ms-dtyp.idl>
6 
7 const unsigned int MAX_SERVICE_NAME_LENGTH = 256;
8 const unsigned short SC_MAX_DEPEND_SIZE = 4 * 1024;
9 const unsigned short SC_MAX_NAME_LENGTH = MAX_SERVICE_NAME_LENGTH + 1;
10 const unsigned short SC_MAX_PATH_LENGTH = 32 * 1024;
11 const unsigned short SC_MAX_PWD_SIZE = 514;
12 const unsigned short SC_MAX_COMPUTER_NAME_LENGTH = 1024;
13 const unsigned short SC_MAX_ACCOUNT_NAME_LENGTH = 2 * 1024;
14 const unsigned short SC_MAX_COMMENT_LENGTH = 128;
15 const unsigned short SC_MAX_ARGUMENT_LENGTH = 1024;
16 const unsigned short SC_MAX_ARGUMENTS = 1024;
17 
21 typedef [context_handle] PVOID SC_RPC_HANDLE;
23 typedef [context_handle] PVOID SC_RPC_LOCK;
25 typedef [context_handle] PVOID SC_NOTIFY_RPC_HANDLE;
27 typedef [range(0, 1024 * 4)] DWORD BOUNDED_DWORD_4K;
29 typedef [range(0, 1024 * 8)] DWORD BOUNDED_DWORD_8K;
31 typedef [range(0, 1024 * 256)] DWORD BOUNDED_DWORD_256K;
33 
34 cpp_quote("#if 0")
35 
36 typedef struct _SERVICE_STATUS {
37  DWORD dwServiceType;
38  DWORD dwCurrentState;
39  DWORD dwControlsAccepted;
40  DWORD dwWin32ExitCode;
41  DWORD dwServiceSpecificExitCode;
42  DWORD dwCheckPoint;
43  DWORD dwWaitHint;
45 
46 typedef struct _SERVICE_STATUS_PROCESS {
57 
58 typedef struct _ENUM_SERVICE_STATUSA {
63 
64 typedef struct _ENUM_SERVICE_STATUSW {
69 
70 typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
75 
76 typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
81 
82 typedef struct _QUERY_SERVICE_CONFIGA {
88  DWORD dwTagId;
93 
94 typedef struct _QUERY_SERVICE_CONFIGW {
100  DWORD dwTagId;
105 
106 typedef struct _QUERY_SERVICE_LOCK_STATUSA {
111 
112 typedef struct _QUERY_SERVICE_LOCK_STATUSW {
117 
118 typedef [v1_enum] enum _SC_ACTION_TYPE {
124 
125 typedef struct _SC_ACTION {
127  DWORD Delay;
129 
130 typedef [v1_enum] enum _SC_ENUM_TYPE {
132 } SC_ENUM_TYPE;
133 
134 typedef struct _SERVICE_DESCRIPTIONA {
137 
138 typedef struct _SERVICE_DESCRIPTIONW {
141 
142 typedef struct _SERVICE_FAILURE_ACTIONSA {
146  [range(0, 1024)] DWORD cActions;
147  [size_is(cActions)] SC_ACTION* lpsaActions;
149 
150 typedef struct _SERVICE_FAILURE_ACTIONSW {
154  [range(0, 1024)] DWORD cActions;
155  [size_is(cActions)] SC_ACTION* lpsaActions;
157 
158 cpp_quote("#endif")
159 
163 
167 
168 typedef struct _SERVICE_SID_INFO {
171 
176 
177 cpp_quote("#ifndef _SERVICE_PRESHUTDOWN_INFO_DEFINED_")
178 cpp_quote("#define _SERVICE_PRESHUTDOWN_INFO_DEFINED_")
179 typedef struct _SERVICE_PRESHUTDOWN_INFO {
182 cpp_quote("#endif")
183 
186  [switch_is(dwInfoLevel)] union {
194  } DUMMYUNIONNAME;
196 
197 typedef struct _SC_RPC_CONFIG_INFOW {
199  [switch_is(dwInfoLevel)] union {
207  } DUMMYUNIONNAME;
209 
219 
231 
232 typedef struct _SC_RPC_NOTIFY_PARAMS {
234  [switch_is(dwInfoLevel)] union {
237  };
239 
244 
245 cpp_quote("#if 0")
246 
247 #if 0
248 typedef
249 [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_IN_PARAMSA {
250  [case(1)] PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA psrInParams;
251 } SC_RPC_SERVICE_CONTROL_IN_PARAMSA, *LPSC_RPC_SERVICE_CONTROL_IN_PARAMSA;
252 
253 typedef
254 [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_IN_PARAMSW {
255  [case(1)] PSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW psrInParams;
256 } SC_RPC_SERVICE_CONTROL_IN_PARAMSW, *LPSC_RPC_SERVICE_CONTROL_IN_PARAMSW;
257 
258 typedef
259 [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSA {
260  [case(1)] PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS psrOutParams;
261 } SC_RPC_SERVICE_CONTROL_OUT_PARAMSA, *LPSC_RPC_SERVICE_CONTROL_OUT_PARAMSA;
262 
263 typedef
264 [switch_type(DWORD)] union _SC_RPC_SERVICE_CONTROL_OUT_PARAMSW {
265  [case(1)] PSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS psrOutParams;
266 } SC_RPC_SERVICE_CONTROL_OUT_PARAMSW, *LPSC_RPC_SERVICE_CONTROL_OUT_PARAMSW;
267 #endif
268 
269 typedef [v1_enum] enum _SC_STATUS_TYPE {
272 
277 
282 
286 
288 
289 cpp_quote("#endif")
290 
294 
295 typedef struct _STRING_PTRSW {
298 
299 typedef [v1_enum] enum _TAG_INFO_LEVEL {
302 
303 typedef [v1_enum] enum _TAG_TYPE {
305 } TAG_TYPE;
306 
311 
316 
318 {
322 
323 [
324  uuid(367abb81-9844-35f1-ad32-98f038001003),
325  version(2.0),
327  endpoint("ncacn_np:[\\pipe\\ntsvcs]")
328 ]
329 interface svcctl
330 {
331  /* Function 0 */
332  DWORD
333  __stdcall
335  [in, out] LPSC_RPC_HANDLE hSCObject);
336 
337  /* Function 1 */
338  DWORD
339  __stdcall
341  [in] SC_RPC_HANDLE hService,
342  [in] DWORD dwControl,
343  [out] LPSERVICE_STATUS lpServiceStatus);
344 
345  /* Function 2 */
346  DWORD
347  __stdcall
349  [in] SC_RPC_HANDLE hService);
350 
351  /* Function 3 */
352  DWORD
353  __stdcall
356  [out] LPSC_RPC_LOCK lpLock);
357 
358  /* Function 4 */
359  DWORD
360  __stdcall
362  [in] SC_RPC_HANDLE hService,
363  [in] SECURITY_INFORMATION dwSecurityInformation,
364  [out, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor,
365  [in, range(0, 1024 * 256)] DWORD cbBufSize,
367 
368  /* Function 5 */
369  DWORD
370  __stdcall
372  [in] SC_RPC_HANDLE hService,
373  [in] DWORD dwSecurityInformation,
374  [in, size_is(dwSecuityDescriptorSize)] LPBYTE lpSecurityDescriptor,
375  [in] DWORD dwSecuityDescriptorSize);
376 
377  /* Function 6 */
378  DWORD
379  __stdcall
381  [in] SC_RPC_HANDLE hService,
382  [out] LPSERVICE_STATUS lpServiceStatus);
383 
384  /* Function 7 */
385  DWORD
386  __stdcall
389  [in] LPSERVICE_STATUS lpServiceStatus);
390 
391  /* Function 8 */
392  DWORD
393  __stdcall
395  [in, out] LPSC_RPC_LOCK Lock);
396 
397  /* Function 9 */
398  DWORD
399  __stdcall
401  [in, string, unique] SVCCTL_HANDLEW lpMachineName,
402  [in] DWORD BootAcceptable);
403 
404  /* Function 10 */
405  DWORD
406  __stdcall
410  [in] BOOL bSetBitsOn,
411  [in] BOOL bUpdateImmediately,
412  [in, string, unique] LPWSTR lpString);
413 
414  /* Function 11 */
415  DWORD
416  __stdcall
418  [in] SC_RPC_HANDLE hService,
419  [in] DWORD dwServiceType,
420  [in] DWORD dwStartType,
421  [in] DWORD dwErrorControl,
422  [in, string, unique] LPWSTR lpBinaryPathName,
423  [in, string, unique] LPWSTR lpLoadOrderGroup,
424  [in, out, unique] LPDWORD lpdwTagId,
425  [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
426  [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
427  [in, string, unique] LPWSTR lpServiceStartName,
428  [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
429  [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
430  [in, string, unique] LPWSTR lpDisplayName);
431 
432  /* Function 12 */
433  DWORD
434  __stdcall
437  [in, string] LPCWSTR lpServiceName,
438  [in, string, unique] LPCWSTR lpDisplayName,
439  [in] DWORD dwDesiredAccess,
440  [in] DWORD dwServiceType,
441  [in] DWORD dwStartType,
442  [in] DWORD dwErrorControl,
443  [in, string] LPCWSTR lpBinaryPathName,
444  [in, string, unique] LPCWSTR lpLoadOrderGroup,
445  [in, out, unique] LPDWORD lpdwTagId,
446  [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
447  [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
448  [in, string, unique] LPCWSTR lpServiceStartName,
449  [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
450  [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
451  [out] LPSC_RPC_HANDLE lpServiceHandle);
452 
453  /* Function 13 */
454  DWORD
455  __stdcall
457  [in] SC_RPC_HANDLE hService,
458  [in] DWORD dwServiceState,
459  [out, size_is(cbBufSize)] LPBYTE lpServices,
460  [in, range(0, 1024*256)] DWORD cbBufSize,
462  [out] LPBOUNDED_DWORD_256K lpServicesReturned);
463 
464  /* Function 14 */
465  DWORD
466  __stdcall
469  [in] DWORD dwServiceType,
470  [in] DWORD dwServiceState,
471  [out, size_is(dwBufSize)] LPBYTE lpBuffer,
472  [in, range(0, 1024*256)] DWORD dwBufSize,
474  [out] LPBOUNDED_DWORD_256K lpServicesReturned,
475  [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
476 
477  /* Function 15 */
478  DWORD
479  __stdcall
481  [in, string, unique] SVCCTL_HANDLEW lpMachineName,
482  [in, string, unique] LPWSTR lpDatabaseName,
483  [in] DWORD dwDesiredAccess,
484  [out] LPSC_RPC_HANDLE lpScHandle);
485 
486  /* Function 16 */
487  DWORD
488  __stdcall
491  [in, string] LPWSTR lpServiceName,
492  [in] DWORD dwDesiredAccess,
493  [out] LPSC_RPC_HANDLE lpServiceHandle);
494 
495  /* Function 17 */
496  DWORD
497  __stdcall
499  [in] SC_RPC_HANDLE hService,
500  [out, size_is(cbBufSize)] LPBYTE lpServiceConfig,
501  /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */
502  [in, range(0, 1024*8)] DWORD cbBufSize,
504 
505  /* Function 18 */
506  DWORD
507  __stdcall
510  [out, size_is(cbBufSize)] LPBYTE lpLockStatus,
511  /* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, */
512  [in, range(0, 1024*4)] DWORD cbBufSize,
514 
515  /* Function 19 */
516  DWORD
517  __stdcall
519  [in] SC_RPC_HANDLE hService,
521  [in, unique, size_is(argc)] LPSTRING_PTRSW argv);
522 
523  /* Function 20 */
524  DWORD
525  __stdcall
528  [in, string] LPCWSTR lpServiceName,
529  [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
530  [in, out] DWORD* lpcchBuffer);
531 
532  /* Function 21 */
533  DWORD
534  __stdcall
537  [in, string] LPCWSTR lpDisplayName,
538  [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
539  [in, out] DWORD* lpcchBuffer);
540 
541  /* Function 22 */
542  DWORD
543  __stdcall
547  [in] BOOL bSetBitsOn,
548  [in] BOOL bUpdateImmediately,
549  [in, string, unique] LPSTR lpString);
550 
551  /* Function 23 */
552  DWORD
553  __stdcall
555  [in] SC_RPC_HANDLE hService,
556  [in] DWORD dwServiceType,
557  [in] DWORD dwStartType,
558  [in] DWORD dwErrorControl,
559  [in, string, unique] LPSTR lpBinaryPathName,
560  [in, string, unique] LPSTR lpLoadOrderGroup,
561  [in, out, unique] LPDWORD lpdwTagId,
562  [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
563  [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
564  [in, string, unique] LPSTR lpServiceStartName,
565  [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
566  [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
567  [in, string, unique] LPSTR lpDisplayName);
568 
569  /* Function 24 */
570  DWORD
571  __stdcall
574  [in, string] LPSTR lpServiceName,
575  [in, string, unique] LPSTR lpDisplayName,
576  [in] DWORD dwDesiredAccess,
577  [in] DWORD dwServiceType,
578  [in] DWORD dwStartType,
579  [in] DWORD dwErrorControl,
580  [in, string] LPSTR lpBinaryPathName,
581  [in, string, unique] LPSTR lpLoadOrderGroup,
582  [in, out, unique] LPDWORD lpdwTagId,
583  [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
584  [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
585  [in, string, unique] LPSTR lpServiceStartName,
586  [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
587  [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
588  [out] LPSC_RPC_HANDLE lpServiceHandle);
589 
590  /* Function 25 */
591  DWORD
592  __stdcall
594  [in] SC_RPC_HANDLE hService,
595  [in] DWORD dwServiceState,
596  [out, size_is(cbBufSize)] LPBYTE lpServices,
597  [in, range(0, 1024*256)] DWORD cbBufSize,
599  [out] LPBOUNDED_DWORD_256K lpServicesReturned);
600 
601  /* Function 26 */
602  DWORD
603  __stdcall
606  [in] DWORD dwServiceType,
607  [in] DWORD dwServiceState,
608  [out, size_is(dwBufSize)] LPBYTE lpBuffer,
609  [in, range(0, 1024*256)] DWORD dwBufSize,
611  [out] LPBOUNDED_DWORD_256K lpServicesReturned,
612  [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle);
613 
614  /* Function 27 */
615  DWORD
616  __stdcall
618  [in, string, unique] SVCCTL_HANDLEA lpMachineName,
619  [in, string, unique] LPSTR lpDatabaseName,
620  [in] DWORD dwDesiredAccess,
621  [out] LPSC_RPC_HANDLE lpScHandle);
622 
623  /* Function 28 */
624  DWORD
625  __stdcall
628  [in, string] LPSTR lpServiceName,
629  [in] DWORD dwDesiredAccess,
630  [out] LPSC_RPC_HANDLE lpServiceHandle);
631 
632  /* Function 29 */
633  DWORD
634  __stdcall
636  [in] SC_RPC_HANDLE hService,
637  [out, size_is(cbBufSize)] LPBYTE lpServiceConfig,
638  /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
639  [in, range(0, 1024*8)] DWORD cbBufSize,
641 
642  /* Function 30 */
643  DWORD
644  __stdcall
647  [out, size_is(cbBufSize)] LPBYTE lpLockStatus,
648  /* FIXME: should be [out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, */
649  [in, range(0, 1024*4)] DWORD cbBufSize,
651 
652  /* Function 31 */
653  DWORD
654  __stdcall
656  [in] SC_RPC_HANDLE hService,
658  [in, unique, size_is(argc)] LPSTRING_PTRSA argv);
659 
660  /* Function 32 */
661  DWORD
662  __stdcall
665  [in, string] LPCSTR lpServiceName,
666  [out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName,
667  [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
668 
669  /* Function 33 */
670  DWORD
671  __stdcall
674  [in, string] LPCSTR lpDisplayName,
675  [out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName,
676  [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
677 
678  /* Function 34 */
679  DWORD
680  __stdcall
683  [in, string, unique] LPWSTR lpLoadOrderGroup,
684  [out] LPDWORD lpState);
685 
686  /* Function 35 */
687  DWORD
688  __stdcall
691  [in] DWORD dwServiceType,
692  [in] DWORD dwServiceState,
693  [out, size_is(cbBufSize)] LPBYTE lpBuffer,
694  [in, range(0, 1024*256)] DWORD cbBufSize,
696  [out] LPBOUNDED_DWORD_256K lpServicesReturned,
697  [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex,
698  [in, string, unique] LPCWSTR pszGroupName);
699 
700  /* Function 36 */
701  DWORD
702  __stdcall
704  [in] SC_RPC_HANDLE hService,
706 
707  /* Function 37 */
708  DWORD
709  __stdcall
711  [in] SC_RPC_HANDLE hService,
713 
714  /* Function 38 */
715  DWORD
716  __stdcall
718  [in] SC_RPC_HANDLE hService,
719  [in] DWORD dwInfoLevel,
720  [out, size_is(cbBufSize)] LPBYTE lpBuffer,
721  [in, range(0, 1024*8)] DWORD cbBufSize,
723 
724  /* Function 39 */
725  DWORD
726  __stdcall
728  [in] SC_RPC_HANDLE hService,
729  [in] DWORD dwInfoLevel,
730  [out, size_is(cbBufSize)] LPBYTE lpBuffer,
731  [in, range(0, 1024*8)] DWORD cbBufSize,
733 
734  /* Function 40 */
735  DWORD
736  __stdcall
738  [in] SC_RPC_HANDLE hService,
739  [in] SC_STATUS_TYPE InfoLevel,
740  [out, size_is(cbBufSize)] LPBYTE lpBuffer,
741  [in, range(0, 1024*8)] DWORD cbBufSize,
743 
744  /* Function 41 */
745  DWORD
746  __stdcall
749  [in] SC_ENUM_TYPE InfoLevel,
750  [in] DWORD dwServiceType,
751  [in] DWORD dwServiceState,
752  [out, size_is(cbBufSize)] LPBYTE lpBuffer,
753  [in, range(0, 1024 * 256)] DWORD cbBufSize,
755  [out] LPBOUNDED_DWORD_256K lpServicesReturned,
756  [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex,
757  [in, string, unique] LPCSTR pszGroupName);
758 
759  /* Function 42 */
760  DWORD
761  __stdcall
764  [in] SC_ENUM_TYPE InfoLevel,
765  [in] DWORD dwServiceType,
766  [in] DWORD dwServiceState,
767  [out, size_is(cbBufSize)] LPBYTE lpBuffer,
768  [in, range(0, 1024 * 256)] DWORD cbBufSize,
770  [out] LPBOUNDED_DWORD_256K lpServicesReturned,
771  [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex,
772  [in, string, unique] LPCWSTR pszGroupName);
773 
774  /* Function 43 */
775  DWORD
776  __stdcall
778  [in] handle_t BindingHandle); /* FIXME */
779 
780  /* Function 44 */
781  DWORD
782  __stdcall
785  [in, string] LPSTR lpServiceName,
786  [in, string, unique] LPSTR lpDisplayName,
787  [in] DWORD dwDesiredAccess,
788  [in] DWORD dwServiceType,
789  [in] DWORD dwStartType,
790  [in] DWORD dwErrorControl,
791  [in, string] LPSTR lpBinaryPathName,
792  [in, string, unique] LPSTR lpLoadOrderGroup,
793  [in, out, unique] LPDWORD lpdwTagId,
794  [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
795  [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
796  [in, string, unique] LPSTR lpServiceStartName,
797  [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
798  [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
799  [out] LPSC_RPC_HANDLE lpServiceHandle);
800 
801  /* Function 45 */
802  DWORD
803  __stdcall
806  [in, string] LPWSTR lpServiceName,
807  [in, string, unique] LPWSTR lpDisplayName,
808  [in] DWORD dwDesiredAccess,
809  [in] DWORD dwServiceType,
810  [in] DWORD dwStartType,
811  [in] DWORD dwErrorControl,
812  [in, string] LPWSTR lpBinaryPathName,
813  [in, string, unique] LPWSTR lpLoadOrderGroup,
814  [in, out, unique] LPDWORD lpdwTagId,
815  [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
816  [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
817  [in, string, unique] LPWSTR lpServiceStartName,
818  [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
819  [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
820  [out] LPSC_RPC_HANDLE lpServiceHandle);
821 
822  /* Function 46 */
823  DWORD
824  __stdcall
828  [in] PTAG_INFO_NAME_FROM_TAG_IN_PARAMS * lpInParams,
829  [out] PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS * lpOutParams);
830 
831  /* Function 47 */
832  DWORD
833  __stdcall
835  [in] SC_RPC_HANDLE hService,
836  [in] SC_RPC_NOTIFY_PARAMS NotifyParams,
837  [in] GUID* pClientProcessGuid,
838  [out] GUID* pSCMProcessGuid,
839  [out] PBOOL pfCreateRemoteQueue,
840  [out] LPSC_NOTIFY_RPC_HANDLE phNotify);
841 
842  /* Function 48 */
843  DWORD
844  __stdcall
846  [in] SC_NOTIFY_RPC_HANDLE hNotify,
847  [out] PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams);
848 
849  /* Function 49 */
850  DWORD
851  __stdcall
853  [in, out] LPSC_NOTIFY_RPC_HANDLE phNotify,
854  [out] PBOOL pfApcFired);
855 
856  /* Function 50 */
857  DWORD
858  __stdcall
860  [in] SC_RPC_HANDLE hService,
861  [in] DWORD dwControl,
862  [in] DWORD dwInfoLevel/*,
863  [in, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSA pControlInParams,
864  [out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSA pControlOutParams*/);
865 
866  /* Function 51 */
867  DWORD
868  __stdcall
870  [in] SC_RPC_HANDLE hService,
871  [in] DWORD dwControl,
872  [in] DWORD dwInfoLevel/*,
873  [in, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSW pControlInParams,
874  [out, switch_is(dwInfoLevel)] PSC_RPC_SERVICE_CONTROL_IN_PARAMSW pControlOutParams*/);
875 
876  /* Function 52 */
877  DWORD
878  __stdcall
880  [in] handle_t BindingHandle); /* FIXME */
881 
882  /* Function 53 */
883  DWORD
884  __stdcall
886  [in] handle_t BindingHandle); /* FIXME */
887 
888  /* Function 54 */
889  DWORD
890  __stdcall
892  [in] handle_t BindingHandle); /* FIXME */
893 
894  /* Function 55 */
895  DWORD
896  __stdcall
897  RFunction55(
898  [in] handle_t BindingHandle); /* FIXME */
899 }
DWORD __stdcall RCreateServiceA([in] SC_RPC_HANDLE hSCManager, [in, string] LPSTR lpServiceName, [in, string, unique] LPSTR lpDisplayName, [in] DWORD dwDesiredAccess, [in] DWORD dwServiceType, [in] DWORD dwStartType, [in] DWORD dwErrorControl, [in, string] LPSTR lpBinaryPathName, [in, string, unique] LPSTR lpLoadOrderGroup, [in, out, unique] LPDWORD lpdwTagId, [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies, [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize, [in, string, unique] LPSTR lpServiceStartName, [in, unique, size_is(dwPwSize)] LPBYTE lpPassword, [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize, [out] LPSC_RPC_HANDLE lpServiceHandle)
DWORD __stdcall RI_ScSetServiceBitsA([in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] DWORD dwServiceBits, [in] BOOL bSetBitsOn, [in] BOOL bUpdateImmediately, [in, string, unique] LPSTR lpString)
DWORD __stdcall REnumDependentServicesA([in] SC_RPC_HANDLE hService, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpServices, [in, range(0, 1024 *256)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned)
struct _SERVICE_DESCRIPTIONW * LPSERVICE_DESCRIPTIONW
struct _SERVICE_DESCRIPTIONA * LPSERVICE_DESCRIPTIONA
struct _SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONSA
DWORD __stdcall RChangeServiceConfig2A([in] SC_RPC_HANDLE hService, [in] SC_RPC_CONFIG_INFOA Info)
static int argc
Definition: ServiceArgs.c:12
DWORD __stdcall RNotifyServiceStatusChange([in] SC_RPC_HANDLE hService, [in] SC_RPC_NOTIFY_PARAMS NotifyParams, [in] GUID *pClientProcessGuid, [out] GUID *pSCMProcessGuid, [out] PBOOL pfCreateRemoteQueue, [out] LPSC_NOTIFY_RPC_HANDLE phNotify)
DWORD __stdcall RSendPnPMessage([in] handle_t BindingHandle)
DWORD __stdcall RCloseNotifyHandle([in, out] LPSC_NOTIFY_RPC_HANDLE phNotify, [out] PBOOL pfApcFired)
const unsigned short SC_MAX_PATH_LENGTH
Definition: svcctl.idl:10
_In_ DWORD _In_ DWORD _Out_ LPDWORD pcbBytesNeeded
Definition: winsvc.h:424
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
Definition: sock.c:82
_SERVICE_PRESHUTDOWN_INFO_DEFINED_ struct _SERVICE_PRESHUTDOWN_INFO SERVICE_PRESHUTDOWN_INFO
struct _SC_RPC_CONFIG_INFOW * LPSC_RPC_CONFIG_INFOW
struct _QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUSW
PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 pStatusChangeParam2
Definition: svcctl.idl:236
DWORD __stdcall ROpenServiceW([in] SC_RPC_HANDLE hSCManager, [in, string] LPWSTR lpServiceName, [in] DWORD dwDesiredAccess, [out] LPSC_RPC_HANDLE lpServiceHandle)
SC_NOTIFY_RPC_HANDLE * LPSC_NOTIFY_RPC_HANDLE
Definition: svcctl.idl:26
LPWSTR StringPtr
Definition: svcctl.idl:296
BOUNDED_DWORD_4K * LPBOUNDED_DWORD_4K
Definition: svcctl.idl:28
DWORD __stdcall RCreateServiceWOW64W([in] handle_t BindingHandle, [in, string] LPWSTR lpServiceName, [in, string, unique] LPWSTR lpDisplayName, [in] DWORD dwDesiredAccess, [in] DWORD dwServiceType, [in] DWORD dwStartType, [in] DWORD dwErrorControl, [in, string] LPWSTR lpBinaryPathName, [in, string, unique] LPWSTR lpLoadOrderGroup, [in, out, unique] LPDWORD lpdwTagId, [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies, [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize, [in, string, unique] LPWSTR lpServiceStartName, [in, unique, size_is(dwPwSize)] LPBYTE lpPassword, [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize, [out] LPSC_RPC_HANDLE lpServiceHandle)
TAG_INFO_NAME_FROM_TAG_OUT_PARAMS OutParams
Definition: svcctl.idl:320
struct _QUERY_SERVICE_CONFIGW * LPQUERY_SERVICE_CONFIGW
TAG_INFO_NAME_FROM_TAG_IN_PARAMS InParams
Definition: svcctl.idl:319
struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW
struct _SC_ACTION * LPSC_ACTION
struct _TAG_INFO_NAME_FROM_TAG TAG_INFO_NAME_FROM_TAG
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
enum _SC_ACTION_TYPE SC_ACTION_TYPE
LPSTR lpServiceStartName
Definition: winsvc.h:152
DWORD __stdcall RGetNotifyResults([in] SC_NOTIFY_RPC_HANDLE hNotify, [out] PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams)
ULONG_PTR RPC_SERVICE_STATUS_HANDLE
Definition: svcctl.idl:20
DWORD __stdcall RGetServiceDisplayNameW([in] SC_RPC_HANDLE hSCManager, [in, string] LPCWSTR lpServiceName, [out, string, size_is(*lpcchBuffer+1)] LPWSTR lpDisplayName, [in, out] DWORD *lpcchBuffer)
BOUNDED_DWORD_4K cElements
Definition: svcctl.idl:241
enum _SC_ENUM_TYPE SC_ENUM_TYPE
DWORD __stdcall RQueryServiceConfigW([in] SC_RPC_HANDLE hService, [out, size_is(cbBufSize)] LPBYTE lpServiceConfig, [in, range(0, 1024 *8)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_8K pcbBytesNeeded)
SC_ACTION * lpsaActions
Definition: winsvc.h:220
struct _STRING_PTRSW * PSTRING_PTRSW
uint16_t * PWSTR
Definition: typedefs.h:54
DWORD __stdcall RChangeServiceConfigA([in] SC_RPC_HANDLE hService, [in] DWORD dwServiceType, [in] DWORD dwStartType, [in] DWORD dwErrorControl, [in, string, unique] LPSTR lpBinaryPathName, [in, string, unique] LPSTR lpLoadOrderGroup, [in, out, unique] LPDWORD lpdwTagId, [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies, [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize, [in, string, unique] LPSTR lpServiceStartName, [in, unique, size_is(dwPwSize)] LPBYTE lpPassword, [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize, [in, string, unique] LPSTR lpDisplayName)
_SC_ENUM_TYPE
Definition: winsvc.h:121
SC_ACTION_TYPE Type
Definition: winsvc.h:205
struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW * LPSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW
DWORD dwServicesSidType
Definition: svcctl.idl:169
LPWSTR lpLoadOrderGroup
Definition: winsvc.h:160
enum _SC_STATUS_TYPE SC_STATUS_TYPE
BOUNDED_DWORD_256K * LPBOUNDED_DWORD_256K
Definition: svcctl.idl:32
DWORD __stdcall RSetServiceObjectSecurity([in] SC_RPC_HANDLE hService, [in] DWORD dwSecurityInformation, [in, size_is(dwSecuityDescriptorSize)] LPBYTE lpSecurityDescriptor, [in] DWORD dwSecuityDescriptorSize)
struct _SERVICE_DESCRIPTIONA SERVICE_DESCRIPTIONA
DWORD __stdcall RFunction55([in] handle_t BindingHandle)
DWORD __stdcall RGetServiceKeyNameA([in] SC_RPC_HANDLE hSCManager, [in, string] LPCSTR lpDisplayName, [out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName, [in, out] LPBOUNDED_DWORD_4K lpcchBuffer)
struct _SC_RPC_NOTIFY_PARAMS_LIST * PSC_RPC_NOTIFY_PARAMS_LIST
const unsigned short SC_MAX_ACCOUNT_NAME_LENGTH
Definition: svcctl.idl:13
DWORD __stdcall RQueryServiceConfig2W([in] SC_RPC_HANDLE hService, [in] DWORD dwInfoLevel, [out, size_is(cbBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *8)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_8K pcbBytesNeeded)
struct _STRING_PTRSW STRING_PTRSW
SERVICE_STATUS_PROCESS ServiceStatus
Definition: svcctl.idl:225
_In_ ULONG _Out_ HANDLE * BindingHandle
Definition: tdikrnl.h:1146
struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 * PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1
struct _ENUM_SERVICE_STATUSW * LPENUM_SERVICE_STATUSW
struct _STRING_PTRSA STRING_PTRSA
SERVICE_STATUS ServiceStatus
Definition: winsvc.h:127
DWORD __stdcall RControlService([in] SC_RPC_HANDLE hService, [in] DWORD dwControl, [out] LPSERVICE_STATUS lpServiceStatus)
SC_RPC_LOCK * LPSC_RPC_LOCK
Definition: svcctl.idl:24
struct _ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUSA
#define argv
Definition: mplay32.c:18
char * LPSTR
Definition: xmlstorage.h:182
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
DWORD __stdcall RNotifyBootConfigStatus([in, string, unique] SVCCTL_HANDLEW lpMachineName, [in] DWORD BootAcceptable)
struct _SERVICE_FAILURE_ACTIONSW * LPSERVICE_FAILURE_ACTIONSW
struct _SERVICE_FAILURE_ACTIONSA * LPSERVICE_FAILURE_ACTIONSA
struct _SERVICE_SID_INFO * LPSERVICE_SID_INFO
DWORD __stdcall RI_ScQueryServiceTagInfo([in] SC_RPC_HANDLE hSCManager, [in] TAG_INFO_LEVEL dwInfoLevel, [in] PTAG_INFO_NAME_FROM_TAG_IN_PARAMS *lpInParams, [out] PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS *lpOutParams)
struct _SERVICE_SID_INFO SERVICE_SID_INFO
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
enum _SC_ACTION_TYPE SC_ACTION_TYPE
struct TraceInfo Info
DWORD Delay
Definition: winsvc.h:206
struct _SERVICE_DELAYED_AUTO_START_INFO SERVICE_DELAYED_AUTO_START_INFO
struct _TAG_INFO_NAME_FROM_TAG_OUT_PARAMS TAG_INFO_NAME_FROM_TAG_OUT_PARAMS
DWORD BOUNDED_DWORD_8K
Definition: svcctl.idl:29
uint32_t ULONG_PTR
Definition: typedefs.h:63
DWORD __stdcall RControlServiceExA([in] SC_RPC_HANDLE hService, [in] DWORD dwControl, [in] DWORD dwInfoLevel)
_TAG_INFO_LEVEL
Definition: svcctl.idl:299
const unsigned short SC_MAX_ARGUMENT_LENGTH
Definition: svcctl.idl:15
struct _STRING_PTRSW * LPSTRING_PTRSW
unsigned char * LPBYTE
Definition: typedefs.h:52
DWORD __stdcall REnumServicesStatusW([in] SC_RPC_HANDLE hSCManager, [in] DWORD dwServiceType, [in] DWORD dwServiceState, [out, size_is(dwBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *256)] DWORD dwBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned, [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle)
SC_RPC_HANDLE * LPSC_RPC_HANDLE
Definition: svcctl.idl:22
unsigned int BOOL
Definition: ntddk_ex.h:94
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
struct _TAG_INFO_NAME_FROM_TAG * PTAG_INFO_NAME_FROM_TAG
DWORD __stdcall RQueryServiceLockStatusA([in] SC_RPC_HANDLE hSCManager, [out, size_is(cbBufSize)] LPBYTE lpLockStatus, [in, range(0, 1024 *4)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_4K pcbBytesNeeded)
struct _QUERY_SERVICE_CONFIGA * LPQUERY_SERVICE_CONFIGA
struct _ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESSA
struct _SC_RPC_NOTIFY_PARAMS_LIST SC_RPC_NOTIFY_PARAMS_LIST
LPSERVICE_DELAYED_AUTO_START_INFO psda
Definition: svcctl.idl:202
struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:173
struct _SC_RPC_CONFIG_INFOW SC_RPC_CONFIG_INFOW
DWORD __stdcall REnumDependentServicesW([in] SC_RPC_HANDLE hService, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpServices, [in, range(0, 1024 *256)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned)
struct _SC_RPC_NOTIFY_PARAMS * LPSC_RPC_NOTIFY_PARAMS
struct _TAG_INFO_NAME_FROM_TAG_IN_PARAMS * PTAG_INFO_NAME_FROM_TAG_IN_PARAMS
struct _SERVICE_RPC_REQUIRED_PRIVILEGES_INFO SERVICE_RPC_REQUIRED_PRIVILEGES_INFO
DWORD __stdcall REnumServicesStatusExA([in] SC_RPC_HANDLE hSCManager, [in] SC_ENUM_TYPE InfoLevel, [in] DWORD dwServiceType, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *256)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned, [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex, [in, string, unique] LPCSTR pszGroupName)
struct _SERVICE_FAILURE_ACTIONS_FLAG SERVICE_FAILURE_ACTIONS_FLAG
struct _TAG_INFO_NAME_FROM_TAG_OUT_PARAMS * PTAG_INFO_NAME_FROM_TAG_OUT_PARAMS
const unsigned short SC_MAX_NAME_LENGTH
Definition: svcctl.idl:9
struct _SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS
static const WCHAR version[]
Definition: asmname.c:64
DWORD __stdcall ROpenSCManagerW([in, string, unique] SVCCTL_HANDLEW lpMachineName, [in, string, unique] LPWSTR lpDatabaseName, [in] DWORD dwDesiredAccess, [out] LPSC_RPC_HANDLE lpScHandle)
LPSERVICE_FAILURE_ACTIONSA psfa
Definition: svcctl.idl:188
DWORD __stdcall RQueryServiceConfigA([in] SC_RPC_HANDLE hService, [out, size_is(cbBufSize)] LPBYTE lpServiceConfig, [in, range(0, 1024 *8)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_8K pcbBytesNeeded)
DWORD __stdcall RDeleteService([in] SC_RPC_HANDLE hService)
_SC_STATUS_TYPE
Definition: winsvc.h:118
struct _QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIGW
DWORD BOUNDED_DWORD_256K
Definition: svcctl.idl:31
const char * LPCSTR
Definition: xmlstorage.h:183
DWORD __stdcall ROpenServiceA([in] SC_RPC_HANDLE hSCManager, [in, string] LPSTR lpServiceName, [in] DWORD dwDesiredAccess, [out] LPSC_RPC_HANDLE lpServiceHandle)
DWORD __stdcall RGetServiceKeyNameW([in] SC_RPC_HANDLE hSCManager, [in, string] LPCWSTR lpDisplayName, [out, string, size_is(*lpcchBuffer+1)] LPWSTR lpServiceName, [in, out] DWORD *lpcchBuffer)
BOOL * PBOOL
Definition: windef.h:161
const unsigned short SC_MAX_ARGUMENTS
Definition: svcctl.idl:16
DWORD __stdcall RControlServiceExW([in] SC_RPC_HANDLE hService, [in] DWORD dwControl, [in] DWORD dwInfoLevel)
DWORD __stdcall REnumServicesStatusA([in] SC_RPC_HANDLE hSCManager, [in] DWORD dwServiceType, [in] DWORD dwServiceState, [out, size_is(dwBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *256)] DWORD dwBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned, [in, out, unique] LPBOUNDED_DWORD_256K lpResumeHandle)
struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA * LPSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA
DWORD BOUNDED_DWORD_4K
Definition: svcctl.idl:27
DWORD __stdcall RI_ScGetCurrentGroupStateW([in] SC_RPC_HANDLE hSCManager, [in, string, unique] LPWSTR lpLoadOrderGroup, [out] LPDWORD lpState)
struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2
struct _SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS * LPSERVICE_CONTROL_STATUS_REASON_OUT_PARAMS
PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_1 pStatusChangeParam1
Definition: svcctl.idl:235
struct _SERVICE_DELAYED_AUTO_START_INFO * LPSERVICE_DELAYED_AUTO_START_INFO
SERVICE_STATUS_PROCESS ServiceStatus
Definition: svcctl.idl:215
DWORD __stdcall RValidatePnPService([in] handle_t BindingHandle)
DWORD dwServiceBits
Definition: srvsvc.c:40
enum _SC_ENUM_TYPE SC_ENUM_TYPE
Definition: service.c:43
struct _ENUM_SERVICE_STATUSA * LPENUM_SERVICE_STATUSA
DWORD __stdcall REnumServiceGroupW([in] SC_RPC_HANDLE hSCManager, [in] DWORD dwServiceType, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *256)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned, [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex, [in, string, unique] LPCWSTR pszGroupName)
union _SC_RPC_CONFIG_INFOW::@3277 DUMMYUNIONNAME
uint64_t ULONGLONG
Definition: typedefs.h:65
const unsigned int MAX_SERVICE_NAME_LENGTH
Definition: svcctl.idl:7
struct endpoint endpoint
Definition: nis.h:15
static FILE * out
Definition: regtests2xml.c:44
const unsigned short SC_MAX_DEPEND_SIZE
Definition: svcctl.idl:8
unsigned long DWORD
Definition: ntddk_ex.h:95
_In_ DWORD _In_ DWORD cbBufSize
Definition: winsvc.h:424
SERVICE_STATUS_PROCESS ServiceStatusProcess
Definition: winsvc.h:142
#define __stdcall
Definition: typedefs.h:25
struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 * PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2
LPSTR SVCCTL_HANDLEA
Definition: svcctl.idl:18
struct _SERVICE_STATUS SERVICE_STATUS
struct _STRING_PTRSA * LPSTRING_PTRSA
LPSERVICE_FAILURE_ACTIONS_FLAG psfaf
Definition: svcctl.idl:203
LPWSTR lpDescription
Definition: winsvc.h:196
const unsigned short SC_MAX_PWD_SIZE
Definition: svcctl.idl:11
struct _SERVICE_STATUS * LPSERVICE_STATUS
_SC_ACTION_TYPE
Definition: winsvc.h:198
struct _ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESSW
unsigned char UCHAR
Definition: xmlstorage.h:181
struct _ENUM_SERVICE_STATUS_PROCESSA * LPENUM_SERVICE_STATUS_PROCESSA
DWORD __stdcall RQueryServiceConfig2A([in] SC_RPC_HANDLE hService, [in] DWORD dwInfoLevel, [out, size_is(cbBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *8)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_8K pcbBytesNeeded)
DWORD __stdcall RCreateServiceW([in] SC_RPC_HANDLE hSCManager, [in, string] LPCWSTR lpServiceName, [in, string, unique] LPCWSTR lpDisplayName, [in] DWORD dwDesiredAccess, [in] DWORD dwServiceType, [in] DWORD dwStartType, [in] DWORD dwErrorControl, [in, string] LPCWSTR lpBinaryPathName, [in, string, unique] LPCWSTR lpLoadOrderGroup, [in, out, unique] LPDWORD lpdwTagId, [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies, [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize, [in, string, unique] LPCWSTR lpServiceStartName, [in, unique, size_is(dwPwSize)] LPBYTE lpPassword, [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize, [out] LPSC_RPC_HANDLE lpServiceHandle)
DWORD __stdcall RQueryServiceObjectSecurity([in] SC_RPC_HANDLE hService, [in] SECURITY_INFORMATION dwSecurityInformation, [out, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor, [in, range(0, 1024 *256)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded)
BOUNDED_DWORD_8K * LPBOUNDED_DWORD_8K
Definition: svcctl.idl:30
enum _SC_STATUS_TYPE SC_STATUS_TYPE
struct _SERVICE_DESCRIPTIONW SERVICE_DESCRIPTIONW
const unsigned short SC_MAX_COMPUTER_NAME_LENGTH
Definition: svcctl.idl:12
LPSERVICE_SID_INFO pssid
Definition: svcctl.idl:191
SERVICE_STATUS ServiceStatus
Definition: winsvc.h:132
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment IN PNDIS_RW_LOCK Lock
Definition: CrNtStubs.h:75
SERVICE_STATUS_HANDLE hServiceStatus
Definition: main.c:10
PVOID SC_RPC_LOCK
Definition: svcctl.idl:23
_In_ DWORD dwInfoLevel
Definition: winsvc.h:422
SC_HANDLE hSCManager
Definition: sc.c:12
struct _SC_RPC_NOTIFY_PARAMS SC_RPC_NOTIFY_PARAMS
LPSERVICE_DELAYED_AUTO_START_INFO psda
Definition: svcctl.idl:189
char string[160]
Definition: util.h:11
PVOID SC_NOTIFY_RPC_HANDLE
Definition: svcctl.idl:25
DWORD __stdcall RChangeServiceConfig2W([in] SC_RPC_HANDLE hService, [in] SC_RPC_CONFIG_INFOW Info)
GLenum GLint * range
Definition: glext.h:7539
DWORD __stdcall RQueryServiceStatusEx([in] SC_RPC_HANDLE hService, [in] SC_STATUS_TYPE InfoLevel, [out, size_is(cbBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *8)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_8K pcbBytesNeeded)
#define f1(x, y, z)
Definition: sha1.c:30
_TAG_TYPE
Definition: svcctl.idl:303
SC_ACTION * lpsaActions
Definition: winsvc.h:213
LPSERVICE_DESCRIPTIONW psd
Definition: svcctl.idl:200
LPSERVICE_FAILURE_ACTIONSW psfa
Definition: svcctl.idl:201
GLuint in
Definition: glext.h:9616
static unsigned char pointer_default
Definition: parser.tab.c:114
struct _SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONSW
struct _ENUM_SERVICE_STATUS_PROCESSW * LPENUM_SERVICE_STATUS_PROCESSW
SC_RPC_NOTIFY_PARAMS NotifyParamsArray[]
Definition: svcctl.idl:242
LPWSTR lpServiceName
Definition: winsvc.h:130
DWORD __stdcall RStartServiceW([in] SC_RPC_HANDLE hService, [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc, [in, unique, size_is(argc)] LPSTRING_PTRSW argv)
struct _QUERY_SERVICE_LOCK_STATUSW * LPQUERY_SERVICE_LOCK_STATUSW
LPWSTR lpDisplayName
Definition: winsvc.h:131
struct _SERVICE_STATUS_PROCESS * LPSERVICE_STATUS_PROCESS
_SERVICE_PRESHUTDOWN_INFO_DEFINED_ struct _SERVICE_PRESHUTDOWN_INFO * LPSERVICE_PRESHUTDOWN_INFO
DWORD __stdcall RChangeServiceConfigW([in] SC_RPC_HANDLE hService, [in] DWORD dwServiceType, [in] DWORD dwStartType, [in] DWORD dwErrorControl, [in, string, unique] LPWSTR lpBinaryPathName, [in, string, unique] LPWSTR lpLoadOrderGroup, [in, out, unique] LPDWORD lpdwTagId, [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies, [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize, [in, string, unique] LPWSTR lpServiceStartName, [in, unique, size_is(dwPwSize)] LPBYTE lpPassword, [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize, [in, string, unique] LPWSTR lpDisplayName)
PVOID SC_RPC_HANDLE
Definition: svcctl.idl:21
LPWSTR lpServiceStartName
Definition: winsvc.h:163
DWORD __stdcall RI_ScSetServiceBitsW([in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] DWORD dwServiceBits, [in] BOOL bSetBitsOn, [in] BOOL bUpdateImmediately, [in, string, unique] LPWSTR lpString)
SERVICE_STATUS_PROCESS ServiceStatus
Definition: svcctl.idl:284
DWORD __stdcall RStartServiceA([in] SC_RPC_HANDLE hService, [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc, [in, unique, size_is(argc)] LPSTRING_PTRSA argv)
struct _SERVICE_STATUS_PROCESS SERVICE_STATUS_PROCESS
DWORD __stdcall RCreateServiceWOW64A([in] handle_t BindingHandle, [in, string] LPSTR lpServiceName, [in, string, unique] LPSTR lpDisplayName, [in] DWORD dwDesiredAccess, [in] DWORD dwServiceType, [in] DWORD dwStartType, [in] DWORD dwErrorControl, [in, string] LPSTR lpBinaryPathName, [in, string, unique] LPSTR lpLoadOrderGroup, [in, out, unique] LPDWORD lpdwTagId, [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies, [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize, [in, string, unique] LPSTR lpServiceStartName, [in, unique, size_is(dwPwSize)] LPBYTE lpPassword, [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize, [out] LPSC_RPC_HANDLE lpServiceHandle)
DWORD __stdcall RUnlockServiceDatabase([in, out] LPSC_RPC_LOCK Lock)
struct _SERVICE_FAILURE_ACTIONS_FLAG * LPSERVICE_FAILURE_ACTIONS_FLAG
LPSTR StringPtr
Definition: svcctl.idl:292
DWORD __stdcall RSetServiceStatus([in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] LPSERVICE_STATUS lpServiceStatus)
DWORD __stdcall RSendTSMessage([in] handle_t BindingHandle)
uint32_t * LPDWORD
Definition: typedefs.h:57
struct _SC_ACTION SC_ACTION
SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 * LPSERVICE_NOTIFY_STATUS_CHANGE_PARAMS
Definition: svcctl.idl:287
LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO psrp
Definition: svcctl.idl:205
DWORD __stdcall ROpenServiceStatusHandle([in] handle_t BindingHandle)
DWORD __stdcall RCloseServiceHandle([in, out] LPSC_RPC_HANDLE hSCObject)
struct _STRING_PTRSA * PSTRING_PTRSA
LPWSTR lpBinaryPathName
Definition: winsvc.h:159
DWORD __stdcall ROpenSCManagerA([in, string, unique] SVCCTL_HANDLEA lpMachineName, [in, string, unique] LPSTR lpDatabaseName, [in] DWORD dwDesiredAccess, [out] LPSC_RPC_HANDLE lpScHandle)
enum _TAG_TYPE TAG_TYPE
struct _ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUSW
struct _TAG_INFO_NAME_FROM_TAG_IN_PARAMS TAG_INFO_NAME_FROM_TAG_IN_PARAMS
LPSERVICE_SID_INFO pssid
Definition: svcctl.idl:204
LPSERVICE_FAILURE_ACTIONS_FLAG psfaf
Definition: svcctl.idl:190
struct _SC_RPC_CONFIG_INFOA SC_RPC_CONFIG_INFOA
WCHAR * LPWSTR
Definition: xmlstorage.h:184
DWORD __stdcall RQueryServiceLockStatusW([in] SC_RPC_HANDLE hSCManager, [out, size_is(cbBufSize)] LPBYTE lpLockStatus, [in, range(0, 1024 *4)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_4K pcbBytesNeeded)
LPSERVICE_PRESHUTDOWN_INFO psps
Definition: svcctl.idl:193
DWORD __stdcall RLockServiceDatabase([in] SC_RPC_HANDLE hSCManager, [out] LPSC_RPC_LOCK lpLock)
LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO psrp
Definition: svcctl.idl:192
struct _QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUSA
DWORD dwServiceSpecificExitCode
Definition: winsvc.h:112
struct _SC_RPC_CONFIG_INFOA * LPSC_RPC_CONFIG_INFOA
SERVICE_STATUS_PROCESS ServiceStatusProcess
Definition: winsvc.h:137
LPSERVICE_PRESHUTDOWN_INFO psps
Definition: svcctl.idl:206
struct _QUERY_SERVICE_LOCK_STATUSA * LPQUERY_SERVICE_LOCK_STATUSA
_In_ LPCSTR _Out_writes_to_opt_ cchDisplayName LPSTR lpDisplayName
Definition: winbase.h:2730
BYTE * PBYTE
Definition: pedump.c:66
LPWSTR SVCCTL_HANDLEW
Definition: svcctl.idl:19
struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA
LPSERVICE_DESCRIPTIONA psd
Definition: svcctl.idl:187
struct _QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIGA
struct _SERVICE_RPC_REQUIRED_PRIVILEGES_INFO * LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO
SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 SERVICE_NOTIFY_STATUS_CHANGE_PARAMS
Definition: svcctl.idl:287
enum _TAG_INFO_LEVEL TAG_INFO_LEVEL
DWORD __stdcall RGetServiceDisplayNameA([in] SC_RPC_HANDLE hSCManager, [in, string] LPCSTR lpServiceName, [out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName, [in, out] LPBOUNDED_DWORD_4K lpcchBuffer)
DWORD __stdcall REnumServicesStatusExW([in] SC_RPC_HANDLE hSCManager, [in] SC_ENUM_TYPE InfoLevel, [in] DWORD dwServiceType, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpBuffer, [in, range(0, 1024 *256)] DWORD cbBufSize, [out] LPBOUNDED_DWORD_256K pcbBytesNeeded, [out] LPBOUNDED_DWORD_256K lpServicesReturned, [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex, [in, string, unique] LPCWSTR pszGroupName)
const unsigned short SC_MAX_COMMENT_LENGTH
Definition: svcctl.idl:14
DWORD __stdcall RQueryServiceStatus([in] SC_RPC_HANDLE hService, [out] LPSERVICE_STATUS lpServiceStatus)