aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/utils/libservice/README.md
blob: a652f7b63a33203491f390d92607404e7180262c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# libservice

Simple service management library and utilities.

## Usage

### libservice.lib

Clients may include the headers by `#include`ing `include/libservice/all.hpp`, which includes all of the other header files.

For service management usage examples, see the utilities descriptions below.

For virtual device usage examples, refer e.g. to [libnt_path_converter](https://github.com/egor-tensin/windows_drivers/tree/master/utils/libnt_path_converter).

### install_service.exe

    Usage: install_service.exe NAME SYS_PATH

Installs a driver as a service.
The service is started manually.
The same as

    sc create NAME type= kernel binPath= SYS_PATH

### start_service.exe

    Usage: start_service.exe NAME

Starts a service (loading the corresponding driver).
The same as

    sc start NAME

except that `start_service.exe` waits until the service is actually loaded.

### stop_service.exe

    Usage: stop_service.exe NAME

Stops the service `NAME` (unloading the corresponding driver).
The same as

    sc stop NAME

except that `stop_service.exe` waits until the service is actually stopped.

### uninstall_service.exe

    Usage: uninstall_service.exe NAME

Uninstalls the service `NAME`, wiping the corresponding record from the registry.
The same as

    sc delete NAME

## Building

See [Building](https://github.com/egor-tensin/windows_drivers/tree/master/utils#building).

## Licensing

This project is licensed under the terms of the MIT License.
See [Licensing](https://github.com/egor-tensin/windows_drivers#licensing) for details.