mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
1.9 KiB
119 lines
1.9 KiB
/*++
|
|
|
|
Copyright (c) 1989 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
regutil.h
|
|
|
|
Abstract:
|
|
|
|
This is the include file for the registry utility functions.
|
|
|
|
Author:
|
|
|
|
Steve Wood (stevewo) 10-Mar-1992
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#include <nt.h>
|
|
#include <ntrtl.h>
|
|
#include <nturtl.h>
|
|
|
|
#include <windows.h>
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <errno.h>
|
|
#include <ctype.h>
|
|
#include <string.h>
|
|
// #include <io.h>
|
|
#include <fcntl.h>
|
|
#include <malloc.h>
|
|
#include <sys\types.h>
|
|
#include <sys\stat.h>
|
|
|
|
|
|
#define VALUE_BUFFER_SIZE (4096 * 100)
|
|
|
|
void
|
|
RegInitialize( void );
|
|
|
|
typedef struct _REG_UNICODE_FILE {
|
|
LARGE_INTEGER LastWriteTime;
|
|
PWSTR FileContents;
|
|
PWSTR EndOfFile;
|
|
PWSTR BeginLine;
|
|
PWSTR EndOfLine;
|
|
PWSTR NextLine;
|
|
} REG_UNICODE_FILE, *PREG_UNICODE_FILE;
|
|
|
|
NTSTATUS
|
|
RegReadBinaryFile(
|
|
IN PUNICODE_STRING FileName,
|
|
OUT PVOID *ValueBuffer,
|
|
OUT PULONG ValueLength
|
|
);
|
|
|
|
NTSTATUS
|
|
RegLoadAsciiFileAsUnicode(
|
|
IN PUNICODE_STRING FileName,
|
|
OUT PREG_UNICODE_FILE UnicodeFile
|
|
);
|
|
|
|
BOOLEAN DebugOutput;
|
|
BOOLEAN SummaryOutput;
|
|
|
|
BOOLEAN
|
|
RegGetNextLine(
|
|
IN OUT PREG_UNICODE_FILE UnicodeFile,
|
|
OUT PULONG IndentAmount,
|
|
OUT PWSTR *FirstEqual
|
|
);
|
|
|
|
BOOLEAN
|
|
RegGetKeyValue(
|
|
IN PUNICODE_STRING KeyValue,
|
|
IN OUT PREG_UNICODE_FILE UnicodeFile,
|
|
OUT PULONG ValueType,
|
|
OUT PVOID *ValueBuffer,
|
|
OUT PULONG ValueLength
|
|
);
|
|
|
|
BOOLEAN
|
|
RegGetMultiString(
|
|
IN OUT PUNICODE_STRING ValueString,
|
|
OUT PUNICODE_STRING MultiString
|
|
);
|
|
|
|
void
|
|
RegDumpKeyValue(
|
|
FILE *fh,
|
|
PKEY_VALUE_FULL_INFORMATION KeyValueInformation,
|
|
ULONG IndentLevel
|
|
);
|
|
|
|
//
|
|
// routines for creating security descriptors (regacl.c)
|
|
//
|
|
|
|
BOOLEAN
|
|
RegInitializeSecurity(
|
|
VOID
|
|
);
|
|
|
|
BOOLEAN
|
|
RegCreateSecurity(
|
|
IN PUNICODE_STRING Description,
|
|
OUT PSECURITY_DESCRIPTOR SecurityDescriptor
|
|
);
|
|
|
|
VOID
|
|
RegDestroySecurity(
|
|
IN PSECURITY_DESCRIPTOR SecurityDescriptor
|
|
);
|
|
|
|
|
|
|