reactos/ntoskrnl/io
Oleg Dubinskiy 7309801e5a [NTOS:IO] IoRegisterDeviceInterface: create non-volatile keys for new device interfaces
Always create only non-volatile (sub)keys when registering a new device interface, so then they are saved after reboot.
On Windows, nearly all device interface keys are non-volatile, except the "Control" subkey, which is managed by IoSetDeviceInterfaceState instead.
In particular, it fixes MS sysaudio loading failure with MS audio drivers replacement (ks, portcls, swenum, sysaudio, wdmaud). My IoGetDeviceInterfaceAlias implementation is also required to be applied. MS sysaudio implementation(s) except that those keys are non-volatile (but we're creating them volatile instead), and trying to create a subkey(s) there (via other IoDeviceInterface* routines), to read/write some needed data. But then they fail to do that with STATUS_CHILD_MUST_BE_VOLATILE (0xc0000181), obviously because our keys are volatile.
The volatile keys can never have non-volatile subkeys.
CORE-17361
2022-03-28 08:13:05 +02:00
..
iomgr [NTOS:IO] IoRegisterDeviceInterface: create non-volatile keys for new device interfaces 2022-03-28 08:13:05 +02:00
pnpmgr [SDK:DDK][NTOS:PNP] Implement PnP arbiters initialization 2022-01-10 06:35:45 +03:00
debug.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
pnpio.h [NTOS:PNP] Add set functions for debugging PNP and IO managers. (#2457) 2020-04-04 14:30:40 +02:00