Appendix A Registry Key Reference

Every registry key peinit reads or writes. Semantics are in the sections referenced.

A.1 Service definitions #

KeyPurposeDefined in
Machine\System\Services\Parent key. Each child key is one service.§3.2
Machine\System\Services\SchemaVersionSchema version guard. REG_DWORD, currently 1. Created by peinit if absent.§2.3, §3.2
Machine\System\Services\ServiceSecurityThe descriptor inherited by definitions that carry none. REG_BINARY.§4.6
Machine\System\Services\<name>One service definition.§3.2
Machine\System\Services\<name>\ProvidesRoles this service fills, which dependencies may name in place of the service. REG_MULTI_SZ. Read at boot and on reload.§7.6
Machine\System\Services\<name>\LastTimerRunLast-run timestamp for a single-trigger persistent timer. REG_QWORD, written by peinit.§9.3
Machine\System\Services\<name>\TimerState\Per-trigger timestamps for a multi-trigger service. Each value is named by the percent-encoded schedule and holds a REG_QWORD.§9.3

A.2 Boot configuration #

KeyTypeDefaultPurposeDefined in
Machine\System\Boot\MaxParallelStartsdword, > 010Services starting concurrently during boot. Zero, a type mismatch, or a malformed payload is invalid and enters recovery.§2.5
Machine\System\Boot\BootSuccessGracedword30Seconds every Critical service has to hold a dependent-satisfying state before the boot counts as successful.§2.5
Machine\System\Boot\SettleTimeoutdword5Seconds to wait for the boot set to settle before starting boot:settled services regardless. Zero is legal.§2.5
Machine\System\Boot\ShutdownTimeoutdword90Seconds for the entire graceful shutdown.§12.2
Machine\System\Boot\PostKillTimeoutdword5Seconds for a cgroup to drain after SIGKILL before it is treated as stuck. Bounds one service's final stop, where ShutdownTimeout bounds the sequence.§12.2

A.3 Operational parameters #

KeyTypeDefaultPurposeDefined in
Machine\System\Init\ControlSecuritybinarySYSTEM and Administrators, every right; Authenticated Users, SYSTEM_QUERY_STATUSThe descriptor for system-level control operations and the boot query.§4.7
Machine\System\Init\MaxControlConnectionsPerUserdword16Concurrent control socket connections one caller's user SID may hold. SYSTEM is exempt.§10.1
Machine\System\Init\MaxControlConnectionsdword256Concurrent control socket connections in all.§10.1
Machine\System\Init\MaxRequestSizedword65536Maximum control request size, in bytes.§10.1
Machine\System\Init\ConnectionTimeoutdword30Seconds before an idle control connection is closed.§10.1
Machine\System\Init\MaxJobsConnectionsdword64Concurrent jobs socket connections.§10.7
Machine\System\Init\MaxJobMessageSizedword32768Maximum jobs socket message content, in bytes.§10.7
Machine\System\Init\JobsConnectionTimeoutdword30Seconds before an idle jobs connection is closed.§10.7
Machine\System\Init\MaxJobsPerSubmitterdword64Live submitted jobs one submitter SID may hold. SYSTEM is exempt.§8.5
Machine\System\Init\MaxLogLineLengthdword8192Bytes per output line before truncation. Minimum 256; below that the default is used and a warning logged.§11.3
Machine\System\Init\MaxLogBufferPerServicedword65536Pipe capacity per service, applied with F_SETPIPE_SZ. Minimum 4096 (one page, the kernel's own floor).§11.3
Machine\System\Init\LogReadBytesPerEventdword16384Bytes drained from one output pipe per readable event. Minimum 512.§11.3
Machine\System\Init\PreEventdBufferdword1048576Bytes of output retained before eventd is available. Applied at boot and on reload. Minimum 4096.§11.2
Machine\System\Init\EnvVars\parent keyemptyVariables injected into every service but registryd. Value name is the variable name; REG_SZ data is the value. Its descriptor is security-critical.§5.5
Machine\System\Init\ProvisionedPaths\parent keyemptyBoot-time path provisioning entries.§2.4
Machine\System\Init\ProvisionedPaths\<name>\Kindstring—directory or file. Required.§2.4
Machine\System\Init\ProvisionedPaths\<name>\Pathstring—The absolute path. Required.§2.4
Machine\System\Init\ProvisionedPaths\<name>\Securitybinarybuilt-inThe descriptor to apply.§2.4
Machine\System\Init\ProvisionedPaths\<name>\Requireddword0If 1, a failure enters recovery before Phase 2.§2.4

A.4 Other subsystems #

KeyTypePurposeDefined in
Machine\System\eventd\LogSocketPathstringWhere peinit forwards service output.§11.4

A.5 Watches #

peinit subscribes to Machine\System\Services\ and Machine\System\Init\ at boot. Any drained event triggers a full reload-config, which also covers the OVERFLOW case (§3.7).

Edit this page