HKLM\SYSTEM\CurrentControlSet\Services Gałąź rejestru

Drzewo rejestru HKLM\SYSTEM\CurrentControlSet\Services przechowuje informacje o każdej usłudze w systemie. Każdy sterownik ma klucz formularza HKLM\SYSTEM\CurrentControlSet\Services\DriverName.

Menedżer PnP przekazuje tę ścieżkę sterownika w parametrze RegistryPath , gdy wywołuje procedurę DriverEntry sterownika. Sterownik może przechowywać globalne dane zdefiniowane przez sterownik w podkluczu Parameters swojego klucza w drzewie usług przy użyciu dyrektywy AddReg w pliku INF sterownika. Aby uzyskać dostęp do tego klucza w czasie wykonywania, sterownik WDM powinien używać IoOpenDriverRegistryKey z DRIVER_REGKEY_TYPE DriverRegKeyParameters i sterownik WDF powinien używać WdfDriverOpenParametersRegistryKey. Informacje przechowywane w ramach tego klucza są dostępne dla sterownika podczas inicjowania.

Aby uzyskać więcej informacji na temat kluczy rejestru używanych zwykle przez sterowniki, zobacz Wprowadzenie do kluczy rejestru dla sterowników.

Dodatkowe klucze w HKLM\SYSTEM\CurrentControlSet\Services

Parametry
Klucz używany do przechowywania danych specyficznych dla sterownika. W przypadku niektórych typów sterowników system oczekuje znalezienia określonych wpisów wartości. Wpisy wartości można dodać do tego podklucza przy użyciu dyrektyw AddReg w pliku INF sterownika.

Wydajność
Klucz określający informacje dotyczące opcjonalnego monitorowania wydajności. Wartości w tym kluczu określają nazwę biblioteki DLL wydajności sterownika oraz nazwy niektórych wyeksportowanych funkcji w tej bibliotece DLL. Wpisy wartości można dodać do tego podklucza przy użyciu dyrektyw AddReg w pliku INF sterownika.

Typowe klucze rejestru i wartości w HKLM\SYSTEM\CurrentControlSet\Services<DriverName>

Start

Wartość Start określa, kiedy należy uruchomić usługę. Może mieć jedną z następujących wartości:

  • 0x0 (Rozruch): załadowany przez moduł ładujący rozruch.
  • 0x1 (System): załadowany przez podsystem we/wy.
  • 0x2 (Automatyczne): ładowane automatycznie przez program Service Control Manager podczas uruchamiania systemu.
  • 0x3 (Zapotrzebowanie): ładowane automatycznie przez pnP, jeśli jest to potrzebne dla urządzenia.
  • 0x4 (Wyłączone): usługa jest wyłączona i nie zostanie załadowana.

Typ

Wartość Type określa typ usługi. Może to być kombinacja następujących wartości:

  • 0x1 (Sterownik jądra): sterownik urządzenia.
  • 0x2 (Sterownik systemu plików): sterownik systemu plików.
  • 0x10 (Proces własny Win32): program Win32 uruchamiany we własnym procesie.
  • 0x20 (Proces udostępniania Win32): program Win32, który współużytkuje proces z innymi usługami.

ErrorControl

Wartość ErrorControl określa ważność błędu, jeśli uruchomienie usługi nie powiedzie się. Może mieć jedną z następujących wartości:

  • 0x0 (Ignoruj): błąd jest ignorowany, a uruchomienie będzie kontynuowane.
  • 0x1 (Normalny): Błąd jest rejestrowany, może zostać wyświetlone pole komunikatu, ale uruchomienie będzie kontynuowane.
  • 0x2 (Poważne): Błąd jest rejestrowany, a system jest ponownie uruchamiany przy użyciu ostatniej znanej dobrej konfiguracji.
  • 0x3 (Krytyczne): Błąd jest rejestrowany, a system próbuje ponownie uruchomić przy użyciu ostatniej znanej dobrej konfiguracji. Jeśli to się nie powiedzie, uruchomienie zakończy się niepowodzeniem, a system zostanie zatrzymany.

Dodatkowe wspólne wartości

  • ImagePath: określa ścieżkę do pliku binarnego usługi. Windows tworzy tę wartość przy użyciu wymaganego wpisu ServiceBinary w pliku INF sterownika. Ten wpis znajduje się w sekcji service-install-referenced by the driver's INF AddService dyrektywy.
  • DisplayName: przyjazna nazwa usługi.
  • Description: opis usługi.

Example

Oto przykład wpisu rejestru dla usługi:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ExampleService]
"Start"=dword:00000002
"Type"=dword:00000010
"ErrorControl"=dword:00000001
"ImagePath"="C:\\Program Files\\ExampleService\\example.exe"
"DisplayName"="Example Service"
"Description"="This is an example service."