Environment: VC6, NT/Windows 2000
The Service API consists of a set of functions and a couple of callback functions that must be supported. Together, these functions allow an application to run independent of any logged-on user.
At its heart, a service application supports at least three functions:
- The main function. This is just a standard main function with arguments like any console-mode, Win32 application. The main function must call certain functions in a timely manner.
VOID main( DWORD dwArgc, LPTSTR* lpszArgv );
VOID ServiceMain( DWORD dwArgc, LPTSTR* lpszArgv );
VOID WINAPI Handler(DWORD fdwControl );
OrDWORD WINAPI HandlerEx(
DWORD dwControl, // requested control code
DWORD dwEventType, // event type
LPVOID lpEventData, // event data
LPVOID lpContext // user-defined context data
The HandlerEx function is primarily useful for services that need to manage multiple services from a single control handler or for a service that needs to react to device notifications.