Reactos
at listview 86 lines 2.0 kB view raw
1/* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS Setup Library 4 * FILE: base/setup/lib/regutil.h 5 * PURPOSE: Registry utility functions 6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr) 7 */ 8 9#pragma once 10 11/* 12 * This function is similar to the one in dlls/win32/advapi32/reg/reg.c 13 * TODO: I should review both of them very carefully, because they may need 14 * some adjustments in their NtCreateKey calls, especially for CreateOptions 15 * stuff etc... 16 */ 17NTSTATUS 18CreateNestedKey(PHANDLE KeyHandle, 19 ACCESS_MASK DesiredAccess, 20 POBJECT_ATTRIBUTES ObjectAttributes, 21 ULONG CreateOptions); 22 23/* 24 * Should be called under SE_BACKUP_PRIVILEGE privilege 25 */ 26NTSTATUS 27CreateRegistryFile( 28 IN PUNICODE_STRING NtSystemRoot, 29 IN PCWSTR RegistryKey, 30 IN BOOLEAN IsHiveNew, 31 IN HANDLE ProtoKeyHandle 32/* 33 IN PUCHAR Descriptor, 34 IN ULONG DescriptorLength 35*/ 36 ); 37 38/* Adapted from ntoskrnl/config/cmsysini.c:CmpLinkKeyToHive() */ 39NTSTATUS 40CreateSymLinkKey( 41 IN HANDLE RootKey OPTIONAL, 42 IN PCWSTR LinkKeyName, 43 IN PCWSTR TargetKeyName); 44 45NTSTATUS 46DeleteSymLinkKey( 47 IN HANDLE RootKey OPTIONAL, 48 IN PCWSTR LinkKeyName); 49 50/* 51 * Should be called under SE_RESTORE_PRIVILEGE privilege 52 */ 53NTSTATUS 54ConnectRegistry( 55 IN HANDLE RootKey OPTIONAL, 56 IN PCWSTR RegMountPoint, 57 // IN HANDLE RootDirectory OPTIONAL, 58 IN PUNICODE_STRING NtSystemRoot, 59 IN PCWSTR RegistryKey 60/* 61 IN PUCHAR Descriptor, 62 IN ULONG DescriptorLength 63*/ 64 ); 65 66/* 67 * Should be called under SE_RESTORE_PRIVILEGE privilege 68 */ 69NTSTATUS 70DisconnectRegistry( 71 IN HANDLE RootKey OPTIONAL, 72 IN PCWSTR RegMountPoint, 73 IN ULONG Flags); 74 75/* 76 * Should be called under SE_RESTORE_PRIVILEGE privilege 77 */ 78NTSTATUS 79VerifyRegistryHive( 80 // IN HANDLE RootKey OPTIONAL, 81 // // IN HANDLE RootDirectory OPTIONAL, 82 IN PUNICODE_STRING NtSystemRoot, 83 IN PCWSTR RegistryKey /* , 84 IN PCWSTR RegMountPoint */); 85 86/* EOF */