#include "lsasrv.h"
#include <winsvc.h>
#include <winsvc_undoc.h>
Go to the source code of this file.
◆ PNETLOGONMAIN
◆ DispatcherThread()
Definition at line 111 of file service.c.
113{
116
117 TRACE(
"DispatcherThread(%p)\n", pParameter);
118
119
123 L"SECURITY_SERVICES_STARTED");
125 {
128 return dwError;
129
132 L"SECURITY_SERVICES_STARTED");
135 }
136
137
138 TRACE(
"Waiting for the SECURITY_SERVICES_STARTED event!\n");
140 TRACE(
"WaitForSingleObject returned %lu\n", dwError);
141
142
144
145
147 {
148 ERR(
"Wait failed!\n");
149 return dwError;
150 }
151
152
154
155
156 TRACE(
"Start the security services!\n");
159
161
163}
SERVICE_TABLE_ENTRYW ServiceTable[]
#define ERROR_ALREADY_EXISTS
VOID WINAPI I_ScIsSecurityProcess(VOID)
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().
◆ NetlogonServiceMain() [1/2]
Definition at line 33 of file service.c.
36{
39
40 TRACE(
"NetlogonServiceMain(%lu %p)\n", dwArgc, pszArgv);
41
43 if (hNetlogon ==
NULL)
44 {
45 ERR(
"LoadLibrary() failed!\n");
46 return;
47 }
48
50 if (pNetlogonMain ==
NULL)
51 {
52 ERR(
"GetProcAddress(NlNetlogonMain) failed!\n");
54 return;
55 }
56
57 TRACE(
"NlNetlogonMain %p\n", pNetlogonMain);
58
59 pNetlogonMain(dwArgc, pszArgv);
60}
#define GetProcAddress(x, y)
VOID(WINAPI * PNETLOGONMAIN)(INT ArgCount, PWSTR *ArgVector)
◆ NetlogonServiceMain() [2/2]
◆ SamSsControlHandler()
◆ SamSsServiceMain() [1/2]
Definition at line 76 of file service.c.
79{
82
83 TRACE(
"SamSsServiceMain(%lu %p)\n", dwArgc, pszArgv);
84
88 return;
89
97
99
103
105}
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 168 of file service.c.
169{
172
173 TRACE(
"ServiceInit()\n");
174
176 0,
179 0,
183
185}
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 20 of file service.c.
Referenced by DispatcherThread(), and START_TEST().