2 * PROJECT: ReactOS Services
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/system/sc/print.c
5 * PURPOSE: print service info
6 * COPYRIGHT: Copyright 2005 - 2006 Ged Murphy <gedmurphy@gmail.com>
13 PrintService(LPCTSTR lpServiceName
,
14 LPSERVICE_STATUS_PROCESS pStatus
,
17 _tprintf(_T("SERVICE_NAME: %s\n"), lpServiceName
);
19 _tprintf(_T("\tTYPE : %x "),
20 (unsigned int)pStatus
->dwServiceType
);
21 switch (pStatus
->dwServiceType
)
23 case SERVICE_KERNEL_DRIVER
:
24 _tprintf(_T("KERNEL_DRIVER\n"));
27 case SERVICE_FILE_SYSTEM_DRIVER
:
28 _tprintf(_T("FILE_SYSTEM_DRIVER\n"));
31 case SERVICE_WIN32_OWN_PROCESS
:
32 _tprintf(_T("WIN32_OWN_PROCESS\n"));
35 case SERVICE_WIN32_SHARE_PROCESS
:
36 _tprintf(_T("WIN32_SHARE_PROCESS\n"));
39 case SERVICE_WIN32_OWN_PROCESS
+ SERVICE_INTERACTIVE_PROCESS
:
40 _tprintf(_T("WIN32_OWN_PROCESS (interactive)\n"));
43 case SERVICE_WIN32_SHARE_PROCESS
+ SERVICE_INTERACTIVE_PROCESS
:
44 _tprintf(_T("WIN32_SHARE_PROCESS (interactive)\n"));
47 default : _tprintf(_T("\n")); break;
50 _tprintf(_T("\tSTATE : %x "),
51 (unsigned int)pStatus
->dwCurrentState
);
53 switch (pStatus
->dwCurrentState
)
55 case 1 : _tprintf(_T("STOPPED\n")); break;
56 case 2 : _tprintf(_T("START_PENDING\n")); break;
57 case 3 : _tprintf(_T("STOP_PENDING\n")); break;
58 case 4 : _tprintf(_T("RUNNING\n")); break;
59 case 5 : _tprintf(_T("CONTINUE_PENDING\n")); break;
60 case 6 : _tprintf(_T("PAUSE_PENDING\n")); break;
61 case 7 : _tprintf(_T("PAUSED\n")); break;
62 default : _tprintf(_T("\n")); break;
65 _tprintf(_T("\t\t\t\t("));
67 if (pStatus
->dwControlsAccepted
& SERVICE_ACCEPT_STOP
)
68 _tprintf(_T("STOPPABLE,"));
70 _tprintf(_T("NOT_STOPPABLE,"));
72 if (pStatus
->dwControlsAccepted
& SERVICE_ACCEPT_PAUSE_CONTINUE
)
73 _tprintf(_T("PAUSABLE,"));
75 _tprintf(_T("NOT_PAUSABLE,"));
77 if (pStatus
->dwControlsAccepted
& SERVICE_ACCEPT_SHUTDOWN
)
78 _tprintf(_T("ACCEPTS_SHUTDOWN"));
80 _tprintf(_T("IGNORES_SHUTDOWN"));
84 _tprintf(_T("\tWIN32_EXIT_CODE : %u (0x%x)\n"),
85 (unsigned int)pStatus
->dwWin32ExitCode
,
86 (unsigned int)pStatus
->dwWin32ExitCode
);
87 _tprintf(_T("\tSERVICE_EXIT_CODE : %u (0x%x)\n"),
88 (unsigned int)pStatus
->dwServiceSpecificExitCode
,
89 (unsigned int)pStatus
->dwServiceSpecificExitCode
);
90 _tprintf(_T("\tCHECKPOINT : 0x%x\n"),
91 (unsigned int)pStatus
->dwCheckPoint
);
92 _tprintf(_T("\tWAIT_HINT : 0x%x\n"),
93 (unsigned int)pStatus
->dwWaitHint
);
97 _tprintf(_T("\tPID : %lu\n"),
98 pStatus
->dwProcessId
);
99 _tprintf(_T("\tFLAGS : %lu\n"),
100 pStatus
->dwServiceFlags
);