DeleteService
The DeleteService
function marks the specified service for deletion from the service control
manager database.
BOOL DeleteService(
SC_HANDLE hService |
// handle to
service |
); |
|
Parameters
hService
Identifies
the service. This handle is returned by the OpenService
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Errors
The following
error codes may be set by the service control manager. Others may be set by the
registry functions that are called by the service control manager.
Value |
Meaning |
ERROR_ACCESS_DENIED |
The
specified handle was not opened with DELETE access. |
ERROR_INVALID_HANDLE |
The
specified handle is invalid. |
ERROR_SERVICE_MARKED_FOR_DELETE |
The
specified service has already been marked for deletion. |
Remarks
The DeleteService
function marks a service for deletion from the service control manager
database. The database entry is not removed until all open handles to the
service have been closed by calls to the CloseServiceHandle function,
and the service is not running. A running service is stopped by a call to the ControlService
function with the SERVICE_CONTROL_STOP control code. If the service cannot be
stopped, the database entry is removed when the system is restarted.
The service
control manager deletes the service by deleting the service key and its subkeys
from the registry.
See Also