How to handle start, pause, resume, and stop events
They share a logon session
They are different threads within a single executable,
so they can share global variables
SCM has to know that multiple services are sharing the
same process (SERVICE_WIN32_SHARE_PROCESS vs
SERVICE_WIN32_OWN_PROCESS)
Some heavy-duty technologies you see in services from time to time
RPC
COM/DCOM
CORBA - WebIntelligence
Network drives
Authentication with remote resources is by logon session,
not by machine (actually this depends on client
implementation, but Microsoft says it should be this
way)
Letters are not reusable across logon sessions (they're
not part of the desktop, in other words)
Service utilities and what they are really doing
SC.EXE - A command-line interface to the SCM API
ServAny.exe - A wrapper which supplies event handling and
SCM notification capabilities for any executable