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>
14 PrintService(LPCTSTR lpServiceName
,
15 LPSERVICE_STATUS_PROCESS pStatus
,
18 _tprintf(_T("SERVICE_NAME: %s\n"), lpServiceName
);
20 _tprintf(_T("\tTYPE : %x "),
21 (unsigned int)pStatus
->dwServiceType
);
22 switch (pStatus
->dwServiceType
)
24 case SERVICE_KERNEL_DRIVER
:
25 _tprintf(_T("KERNEL_DRIVER\n"));
28 case SERVICE_FILE_SYSTEM_DRIVER
:
29 _tprintf(_T("FILE_SYSTEM_DRIVER\n"));
32 case SERVICE_WIN32_OWN_PROCESS
:
33 _tprintf(_T("WIN32_OWN_PROCESS\n"));
36 case SERVICE_WIN32_SHARE_PROCESS
:
37 _tprintf(_T("WIN32_SHARE_PROCESS\n"));
40 case SERVICE_WIN32_OWN_PROCESS
+ SERVICE_INTERACTIVE_PROCESS
:
41 _tprintf(_T("WIN32_OWN_PROCESS (interactive)\n"));
44 case SERVICE_WIN32_SHARE_PROCESS
+ SERVICE_INTERACTIVE_PROCESS
:
45 _tprintf(_T("WIN32_SHARE_PROCESS (interactive)\n"));
48 default : _tprintf(_T("\n")); break;
51 _tprintf(_T("\tSTATE : %x "),
52 (unsigned int)pStatus
->dwCurrentState
);
54 switch (pStatus
->dwCurrentState
)
56 case 1 : _tprintf(_T("STOPPED\n")); break;
57 case 2 : _tprintf(_T("START_PENDING\n")); break;
58 case 3 : _tprintf(_T("STOP_PENDING\n")); break;
59 case 4 : _tprintf(_T("RUNNING\n")); break;
60 case 5 : _tprintf(_T("CONTINUE_PENDING\n")); break;
61 case 6 : _tprintf(_T("PAUSE_PENDING\n")); break;
62 case 7 : _tprintf(_T("PAUSED\n")); break;
63 default : _tprintf(_T("\n")); break;
66 _tprintf(_T("\t\t\t\t("));
68 if (pStatus
->dwControlsAccepted
& SERVICE_ACCEPT_STOP
)
69 _tprintf(_T("STOPPABLE,"));
71 _tprintf(_T("NOT_STOPPABLE,"));
73 if (pStatus
->dwControlsAccepted
& SERVICE_ACCEPT_PAUSE_CONTINUE
)
74 _tprintf(_T("PAUSABLE,"));
76 _tprintf(_T("NOT_PAUSABLE,"));
78 if (pStatus
->dwControlsAccepted
& SERVICE_ACCEPT_SHUTDOWN
)
79 _tprintf(_T("ACCEPTS_SHUTDOWN"));
81 _tprintf(_T("IGNORES_SHUTDOWN"));
85 _tprintf(_T("\tWIN32_EXIT_CODE : %d (0x%x)\n"),
86 (unsigned int)pStatus
->dwWin32ExitCode
,
87 (unsigned int)pStatus
->dwWin32ExitCode
);
88 _tprintf(_T("\tSERVICE_EXIT_CODE : %d (0x%x)\n"),
89 (unsigned int)pStatus
->dwServiceSpecificExitCode
,
90 (unsigned int)pStatus
->dwServiceSpecificExitCode
);
91 _tprintf(_T("\tCHECKPOINT : 0x%x\n"),
92 (unsigned int)pStatus
->dwCheckPoint
);
93 _tprintf(_T("\tWAIT_HINT : 0x%x\n"),
94 (unsigned int)pStatus
->dwWaitHint
);
98 _tprintf(_T("\tPID : %lu\n"),
99 pStatus
->dwProcessId
);
100 _tprintf(_T("\tFLAGS : %lu\n"),
101 pStatus
->dwServiceFlags
);