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
|
|
);
|