00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#include "ntos.h"
00022
#include "cmp.h"
00023
00024
00025
00026 #define TYPE_SIMPLE 0
00027 #define TYPE_LOG 1
00028 #define TYPE_ALT 2
00029
00030
00031 HANDLE
00032
EhOpenHive(
00033 IN PUNICODE_STRING FileName,
00034 OUT PHANDLE RootCell,
00035 OUT PUNICODE_STRING RootName,
00036 IN ULONG HiveType
00037 );
00038
00039
VOID
00040
EhCloseHive(
00041 IN HANDLE Hive
00042 );
00043
00044
NTSTATUS
00045
EhEnumerateValueKey(
00046 IN HANDLE HiveHandle,
00047 IN HANDLE CellHandle,
00048 IN ULONG Index,
00049 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
00050 IN PVOID KeyValueInformation,
00051 IN ULONG Length,
00052 IN PULONG ResultLength
00053 );
00054
00055
NTSTATUS
00056
EhEnumerateKey(
00057 IN HANDLE HiveHandle,
00058 IN HANDLE CellHandle,
00059 IN ULONG Index,
00060 IN KEY_INFORMATION_CLASS KeyInformationClass,
00061 IN PVOID KeyInformation,
00062 IN ULONG Length,
00063 IN PULONG ResultLength
00064 );
00065
00066
NTSTATUS
00067
EhOpenChildByName(
00068 HANDLE HiveHandle,
00069 HANDLE KeyHandle,
00070 PUNICODE_STRING Name,
00071 PHANDLE ChildCell
00072 );
00073
00074
NTSTATUS
00075
EhCreateChild(
00076 IN HANDLE HiveHandle,
00077 IN HANDLE CellHandle,
00078 IN PUNICODE_STRING Name,
00079 OUT PHANDLE ChildCell,
00080 OUT PULONG Disposition OPTIONAL
00081 );
00082
00083
NTSTATUS
00084
EhQueryKey(
00085 IN HANDLE HiveHandle,
00086 IN HANDLE KeyHandle,
00087 IN KEY_INFORMATION_CLASS KeyInformationClass,
00088 IN PVOID KeyInformation,
00089 IN ULONG Length,
00090 IN PULONG ResultLength
00091 );
00092
00093
NTSTATUS
00094
EhQueryValueKey(
00095 IN HANDLE HiveHandle,
00096 IN HANDLE KeyHandle,
00097 IN PUNICODE_STRING ValueName,
00098 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
00099 IN PVOID KeyValueInformation,
00100 IN ULONG Length,
00101 IN PULONG ResultLength
00102 );
00103
00104
NTSTATUS
00105
EhSetValueKey(
00106 IN HANDLE HiveHandle,
00107 IN HANDLE CellHandle,
00108 IN PUNICODE_STRING ValueName,
00109 IN ULONG TitleIndex OPTIONAL,
00110 IN ULONG Type,
00111 IN PVOID Data,
00112 IN ULONG DataSize
00113 );
00114
00115
NTSTATUS
00116
EhDeleteValueKey(
00117 IN HANDLE Hive,
00118 IN HANDLE Cell,
00119 IN PUNICODE_STRING ValueName
00120 );
00121
00122 PSECURITY_DESCRIPTOR
00123
EhGetKeySecurity(
00124 IN HANDLE HiveHandle,
00125 IN HANDLE KeyHandle
00126 );
00127