- Do not send the WM_MOUSEACTIVATE message for a window that has no parent.
[reactos.git] / base / applications / sc / print.c
1 /*
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>
7 *
8 */
9
10 #include "sc.h"
11
12
13 VOID
14 PrintService(LPCTSTR lpServiceName,
15 LPSERVICE_STATUS_PROCESS pStatus,
16 BOOL bExtended)
17 {
18 _tprintf(_T("SERVICE_NAME: %s\n"), lpServiceName);
19
20 _tprintf(_T("\tTYPE : %x "),
21 (unsigned int)pStatus->dwServiceType);
22 switch (pStatus->dwServiceType)
23 {
24 case SERVICE_KERNEL_DRIVER:
25 _tprintf(_T("KERNEL_DRIVER\n"));
26 break;
27
28 case SERVICE_FILE_SYSTEM_DRIVER:
29 _tprintf(_T("FILE_SYSTEM_DRIVER\n"));
30 break;
31
32 case SERVICE_WIN32_OWN_PROCESS:
33 _tprintf(_T("WIN32_OWN_PROCESS\n"));
34 break;
35
36 case SERVICE_WIN32_SHARE_PROCESS:
37 _tprintf(_T("WIN32_SHARE_PROCESS\n"));
38 break;
39
40 case SERVICE_WIN32_OWN_PROCESS + SERVICE_INTERACTIVE_PROCESS:
41 _tprintf(_T("WIN32_OWN_PROCESS (interactive)\n"));
42 break;
43
44 case SERVICE_WIN32_SHARE_PROCESS + SERVICE_INTERACTIVE_PROCESS:
45 _tprintf(_T("WIN32_SHARE_PROCESS (interactive)\n"));
46 break;
47
48 default : _tprintf(_T("\n")); break;
49 }
50
51 _tprintf(_T("\tSTATE : %x "),
52 (unsigned int)pStatus->dwCurrentState);
53
54 switch (pStatus->dwCurrentState)
55 {
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;
64 }
65
66 _tprintf(_T("\t\t\t\t("));
67
68 if (pStatus->dwControlsAccepted & SERVICE_ACCEPT_STOP)
69 _tprintf(_T("STOPPABLE,"));
70 else
71 _tprintf(_T("NOT_STOPPABLE,"));
72
73 if (pStatus->dwControlsAccepted & SERVICE_ACCEPT_PAUSE_CONTINUE)
74 _tprintf(_T("PAUSABLE,"));
75 else
76 _tprintf(_T("NOT_PAUSABLE,"));
77
78 if (pStatus->dwControlsAccepted & SERVICE_ACCEPT_SHUTDOWN)
79 _tprintf(_T("ACCEPTS_SHUTDOWN"));
80 else
81 _tprintf(_T("IGNORES_SHUTDOWN"));
82
83 _tprintf(_T(")\n"));
84
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);
95
96 if (bExtended)
97 {
98 _tprintf(_T("\tPID : %lu\n"),
99 pStatus->dwProcessId);
100 _tprintf(_T("\tFLAGS : %lu\n"),
101 pStatus->dwServiceFlags);
102 }
103
104 _tprintf(_T("\n"));
105 }