v2 skips the I_ScRegisterDeviceNotification on versions of windows where that interface does not exist.
Micah N Gorrell (8): advapi32: Replace usage of internal SERV_ functions with exported functions advapi32: Replace SERV_dup() with strdupAW() advapi32: Move RPC interfaces from advapi32 into sechost sechost: Implement I_ScRegisterDeviceNotification() ntoskrnl.exe: Implement sending of device notifications user32: Implement RegisterDeviceNotification() user32/tests: Add test for RegisterDeviceNotification() sechost/tests: Add test for I_ScRegisterDeviceNotification()
configure.ac | 2 + dlls/advapi32/Makefile.in | 5 +- dlls/advapi32/advapi32.spec | 92 ++++---- dlls/advapi32/advapi32_misc.h | 4 - dlls/advapi32/eventlog.c | 12 +- dlls/advapi32/security.c | 54 +++-- dlls/ntoskrnl.exe/Makefile.in | 4 +- dlls/ntoskrnl.exe/ntoskrnl_private.h | 5 + dlls/ntoskrnl.exe/pnp.c | 1 + dlls/ntoskrnl.exe/rpc.c | 182 ++++++++++++++++ dlls/{advapi32 => ntoskrnl.exe}/svcctl.idl | 0 dlls/sechost/Makefile.in | 8 + dlls/sechost/sechost.spec | 48 +++++ dlls/{advapi32 => sechost}/service.c | 239 ++++++++++++++++----- dlls/sechost/svcctl.idl | 3 + dlls/sechost/tests/Makefile.in | 5 + dlls/sechost/tests/devnotify.c | 102 +++++++++ dlls/user32/Makefile.in | 2 +- dlls/user32/misc.c | 73 ++++++- dlls/user32/tests/input.c | 70 +++++- include/wine/svcctl.idl | 20 ++ include/winsvc.h | 14 ++ include/winuser.h | 4 +- programs/services/rpc.c | 169 ++++++++++++++- 24 files changed, 976 insertions(+), 142 deletions(-) create mode 100644 dlls/ntoskrnl.exe/rpc.c rename dlls/{advapi32 => ntoskrnl.exe}/svcctl.idl (100%) create mode 100644 dlls/sechost/Makefile.in create mode 100644 dlls/sechost/sechost.spec rename dlls/{advapi32 => sechost}/service.c (93%) create mode 100644 dlls/sechost/svcctl.idl create mode 100644 dlls/sechost/tests/Makefile.in create mode 100644 dlls/sechost/tests/devnotify.c