RegisterService
This function creates a new instance of a service.
HANDLE RegisterService(
LPCWSTR lpszType,
DWORD dwIndex,
LPCWSTR lpszLib,
DWORD dwInfo
);
Parameters
- lpszType
[in] Pointer to the string that contains the three-letter service prefix code. - dwIndex
[in] Specifies the service index number between 0 and 9. - lpszLib
[in] Pointer to the string that contains the name of the DLL file that contains the service. - dwInfo
[in] Specifies the argument passed during the call to the service's exposed xxx_Init function.
Return Values
A handle to the service is returned on success. A NULL value is returned on failure. For extended error information, call GetLastError.
Remarks
RegisterService can be used to either load an unloaded service into memory or create a new instance of a service already loaded.
RegisterService will first load the DLL file specified in lpszLib and verify that it exports the xxx_Init, xxx_Deinit, and xxx_IOControl functions. RegisterService will fail with ERROR_FILE_NOT_FOUND if the DLL file cannot be loaded and ERROR_INVALID_FUNCTION if the file does not export the required functions.
Varying instances of a service running from the same DLL and with the same lpszType value are differentiated by different dwIndex values. These values must be unique for a given service. RegisterService will verify that no service has the same lpszType prefix and dwIndex value. If this is the case, it will fail and SetLastError to ERROR_DEVICE_IN_USE.
Services.exe will then call the xxx_Init function and pass it the value stored in dwInfo. If the service returns a value of zero, Services.exe will fail and SetLastError to ERROR_OPEN_FAILED. Otherwise, it will store the return value of xxx_Init and pass it as a context value at a later time when calling another function of the service such as xxx_Deinit and xxx_IOControl.
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: Service.h.
Link Library: Coredll.lib.
See Also
xxx_Init | xxx_Deinit | xxx_IOControl | Services.exe
Last updated on Saturday, April 10, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.