127 lines
2.2 KiB
C
127 lines
2.2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1991 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
edithive.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
include for user-mode hive editing library
|
||
|
|
||
|
Author:
|
||
|
|
||
|
John Vert (jvert) 27-Mar-1992
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#include "ntos.h"
|
||
|
#include "cmp.h"
|
||
|
|
||
|
|
||
|
|
||
|
#define TYPE_SIMPLE 0
|
||
|
#define TYPE_LOG 1
|
||
|
#define TYPE_ALT 2
|
||
|
|
||
|
|
||
|
HANDLE
|
||
|
EhOpenHive(
|
||
|
IN PUNICODE_STRING FileName,
|
||
|
OUT PHANDLE RootCell,
|
||
|
OUT PUNICODE_STRING RootName,
|
||
|
IN ULONG HiveType
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
EhCloseHive(
|
||
|
IN HANDLE Hive
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhEnumerateValueKey(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE CellHandle,
|
||
|
IN ULONG Index,
|
||
|
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||
|
IN PVOID KeyValueInformation,
|
||
|
IN ULONG Length,
|
||
|
IN PULONG ResultLength
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhEnumerateKey(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE CellHandle,
|
||
|
IN ULONG Index,
|
||
|
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||
|
IN PVOID KeyInformation,
|
||
|
IN ULONG Length,
|
||
|
IN PULONG ResultLength
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhOpenChildByName(
|
||
|
HANDLE HiveHandle,
|
||
|
HANDLE KeyHandle,
|
||
|
PUNICODE_STRING Name,
|
||
|
PHANDLE ChildCell
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhCreateChild(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE CellHandle,
|
||
|
IN PUNICODE_STRING Name,
|
||
|
OUT PHANDLE ChildCell,
|
||
|
OUT PULONG Disposition OPTIONAL
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhQueryKey(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE KeyHandle,
|
||
|
IN KEY_INFORMATION_CLASS KeyInformationClass,
|
||
|
IN PVOID KeyInformation,
|
||
|
IN ULONG Length,
|
||
|
IN PULONG ResultLength
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhQueryValueKey(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE KeyHandle,
|
||
|
IN PUNICODE_STRING ValueName,
|
||
|
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||
|
IN PVOID KeyValueInformation,
|
||
|
IN ULONG Length,
|
||
|
IN PULONG ResultLength
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhSetValueKey(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE CellHandle,
|
||
|
IN PUNICODE_STRING ValueName,
|
||
|
IN ULONG TitleIndex OPTIONAL,
|
||
|
IN ULONG Type,
|
||
|
IN PVOID Data,
|
||
|
IN ULONG DataSize
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
EhDeleteValueKey(
|
||
|
IN HANDLE Hive,
|
||
|
IN HANDLE Cell,
|
||
|
IN PUNICODE_STRING ValueName // RAW
|
||
|
);
|
||
|
|
||
|
PSECURITY_DESCRIPTOR
|
||
|
EhGetKeySecurity(
|
||
|
IN HANDLE HiveHandle,
|
||
|
IN HANDLE KeyHandle
|
||
|
);
|