ServiceMain
A ServiceMain
function is a function that a service process specifies as the entry point
function of a particular service. The function can have any application-defined
name.
VOID WINAPI ServiceMain(
DWORD dwArgc, |
// number of
arguments |
LPTSTR *lpszArgv |
// address of array
of argument string pointers |
); |
|
Parameters
dwArgc
Specifies the
number of arguments in the lpszArgv array.
lpszArgv
Points to an
array of pointers that point to null-terminated argument strings. The first
argument in the array is the name of the service, and subsequent arguments are
any strings passed to the service by the process that called the StartService
Return Values
This function
does not return a value.
Remarks
A service
process can start one or more services. For each service that it can start, a
service process has a SERVICE_TABLE_ENTRY
When the
service control manager receives a request to start a service, it starts the
service process (if it is not already running). The main thread of the service
process calls the StartServiceCtrlDispatcher1QMQ_HC function with a pointer to an array of SERVICE_TABLE_ENTRY
structures. Then the service control manager sends a start request to the
service control dispatcher for this service process. The service control
dispatcher creates a new thread to execute the ServiceMain function of
the service being started.
This function
should immediately call the RegisterServiceCtrlHandler
A ServiceMain
function does not return until the service is ready to terminate.
See Also