#include "lsasrv.h"
#include <winsvc.h>
Go to the source code of this file.
◆ PNETLOGONMAIN
◆ DispatcherThread()
Definition at line 112 of file service.c.
114{
117
118 TRACE(
"DispatcherThread(%p)\n", pParameter);
119
120
124 L"SECURITY_SERVICES_STARTED");
126 {
129 return dwError;
130
133 L"SECURITY_SERVICES_STARTED");
136 }
137
138
139 TRACE(
"Waiting for the SECURITY_SERVICES_STARTED event!\n");
141 TRACE(
"WaitForSingleObject returned %lu\n", dwError);
142
143
145
146
148 {
149 ERR(
"Wait failed!\n");
150 return dwError;
151 }
152
153
155
156
157 TRACE(
"Start the security services!\n");
160
162
164}
SERVICE_TABLE_ENTRYW ServiceTable[]
VOID WINAPI I_ScIsSecurityProcess(VOID)
#define ERROR_ALREADY_EXISTS
BOOL WINAPI StartServiceCtrlDispatcherW(const SERVICE_TABLE_ENTRYW *lpServiceStartTable)
HANDLE WINAPI DECLSPEC_HOTPATCH OpenEventW(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCWSTR lpName)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
DWORD WINAPI GetLastError(void)
Referenced by ServiceInit().
◆ I_ScIsSecurityProcess()
◆ NetlogonServiceMain() [1/2]
Definition at line 34 of file service.c.
37{
40
41 TRACE(
"NetlogonServiceMain(%lu %p)\n", dwArgc, pszArgv);
42
44 if (hNetlogon ==
NULL)
45 {
46 ERR(
"LoadLibrary() failed!\n");
47 return;
48 }
49
51 if (pNetlogonMain ==
NULL)
52 {
53 ERR(
"GetProcAddress(NlNetlogonMain) failed!\n");
55 return;
56 }
57
58 TRACE(
"NlNetlogonMain %p\n", pNetlogonMain);
59
60 pNetlogonMain(dwArgc, pszArgv);
61}
#define GetProcAddress(x, y)
VOID(WINAPI * PNETLOGONMAIN)(INT ArgCount, PWSTR *ArgVector)
◆ NetlogonServiceMain() [2/2]
◆ SamSsControlHandler()
◆ SamSsServiceMain() [1/2]
Definition at line 77 of file service.c.
80{
83
84 TRACE(
"SamSsServiceMain(%lu %p)\n", dwArgc, pszArgv);
85
89 return;
90
98
100
104
106}
static SERVICE_STATUS_HANDLE(WINAPI *pRegisterServiceCtrlHandlerExA)(LPCSTR
static SERVICE_STATUS ServiceStatus
static VOID WINAPI SamSsControlHandler(_In_ DWORD fdwControl)
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR lpServiceName, LPHANDLER_FUNCTION lpHandlerProc)
BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE_STATUS lpServiceStatus)
DWORD dwServiceSpecificExitCode
SERVICE_STATUS_HANDLE hStatus
#define SERVICE_START_PENDING
#define SERVICE_WIN32_SHARE_PROCESS
◆ SamSsServiceMain() [2/2]
◆ ServiceInit()
Definition at line 169 of file service.c.
170{
173
174 TRACE(
"ServiceInit()\n");
175
177 0,
180 0,
184
186}
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
static DWORD WINAPI DispatcherThread(_In_ PVOID pParameter)
◆ ServiceTable
Initial value:=
{
}
static VOID WINAPI NetlogonServiceMain(DWORD dwArgc, PWSTR *pszArgv)
static VOID WINAPI SamSsServiceMain(DWORD dwArgc, PWSTR *pszArgv)
Definition at line 21 of file service.c.
Referenced by DispatcherThread(), and START_TEST().