|
|
/*++
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 );
|