[ros-diffs] [fireball] 31540: - Implement a helper registry key opening function to reduce code size. - http://www.tech-archive.net/Archive/Development/microsoft.public.development.device.drivers/2004-10/1623.html

fireball at svn.reactos.org fireball at svn.reactos.org
Tue Jan 1 22:01:29 CET 2008


Author: fireball
Date: Wed Jan  2 00:01:28 2008
New Revision: 31540

URL: http://svn.reactos.org/svn/reactos?rev=31540&view=rev
Log:
- Implement a helper registry key opening function to reduce code size.
- http://www.tech-archive.net/Archive/Development/microsoft.public.development.device.drivers/2004-10/1623.html

Modified:
    trunk/reactos/ntoskrnl/include/internal/io.h
    trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c

Modified: trunk/reactos/ntoskrnl/include/internal/io.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/io.h?rev=31540&r1=31539&r2=31540&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/io.h (original)
+++ trunk/reactos/ntoskrnl/include/internal/io.h Wed Jan  2 00:01:28 2008
@@ -556,8 +556,14 @@
 NTSTATUS
 IopInitializePnpServices(
     IN PDEVICE_NODE DeviceNode,
-    IN BOOLEAN BootDrivers)
-;
+    IN BOOLEAN BootDrivers);
+
+NTSTATUS
+IopOpenRegistryKeyEx(
+    PHANDLE KeyHandle,
+    HANDLE ParentKey,
+    PUNICODE_STRING Name,
+    ACCESS_MASK DesiredAccess);
 
 //
 // Initialization Routines

Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c?rev=31540&r1=31539&r2=31540&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c (original)
+++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c Wed Jan  2 00:01:28 2008
@@ -3303,6 +3303,30 @@
    }
 }
 
+NTSTATUS
+IopOpenRegistryKeyEx(PHANDLE KeyHandle,
+                     HANDLE ParentKey,
+                     PUNICODE_STRING Name,
+                     ACCESS_MASK DesiredAccess)
+{
+    OBJECT_ATTRIBUTES ObjectAttributes;
+    NTSTATUS Status;
+
+    PAGED_CODE();
+
+    *KeyHandle = NULL;
+
+    InitializeObjectAttributes(&ObjectAttributes,
+        Name,
+        OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
+        ParentKey,
+        NULL);
+
+    Status = ZwOpenKey(KeyHandle, DesiredAccess, &ObjectAttributes);
+
+    return Status;
+}
+
 static NTSTATUS INIT_FUNCTION
 NTAPI
 PnpDriverInitializeEmpty(IN struct _DRIVER_OBJECT *DriverObject, IN PUNICODE_STRING RegistryPath)




More information about the Ros-diffs mailing list