reactos/ntoskrnl/io/iomgr
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
..
adapter.c
arcname.c [NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing Arc names 2021-06-28 10:20:57 +02:00
bootlog.c
controller.c
device.c
deviface.c [NTOS:IO] IoRegisterDeviceInterface: create non-volatile keys for new device interfaces 2022-03-28 08:13:05 +02:00
driver.c [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
error.c
file.c
iocomp.c
ioevent.c
iofunc.c [NTOS:IO] Fail, if io completion port and an apc routine are used at the same time 2021-11-24 13:34:26 +01:00
iomdl.c
iomgr.c
iorsrce.c [NTOS:IO] Do not crash when calling IopLegacyResourceAllocation with NULL ResourceRequirements 2021-11-01 18:16:25 +01:00
iotimer.c
iowork.c
irp.c
irq.c
ramdisk.c [NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing ramdisk 2021-06-28 10:20:57 +02:00
rawfs.c [NTOS:RAWFS] LE JOKE! - Commit 7716bddd (r24564) claimed to "actually create the \\Device names so that user-mode can even talk to it", yet didn't bother to do that! 2021-09-26 03:02:58 +02:00
remlock.c
symlink.c
util.c
volume.c