windows-nt/Source/XPSP1/NT/base/fs/utils/reg/reg.h
2020-09-26 16:20:57 +08:00

127 lines
4.8 KiB
C

//-----------------------------------------------------------------------//
//
// File: Reg.h
// Created: Jan 1997
// By: Martin Holladay (a-martih)
// Purpose: Header file for Reg.cpp
// Modification History:
// Created - Jan 1997 (a-martih)
// Aug 1997 - MartinHo - Incremented to 1.01 for bug fixes in:
// load.cpp, unload.cpp, update.cpp, save.cpp & restore.cpp
// Sept 1997 - MartinHo - Incremented to 1.02 for update:
// increased value date max to 2048 bytes
// Oct 1997 - MartinHo - Incremented to 1.03 for REG_MULTI_SZ bug fixes.
// Correct support for REG_MULTI_SZ with query, add and update.
// April 1998 - MartinHo - Fixed RegOpenKey() in Query.cpp to not require
// KEY_ALL_ACCESS but rather KEY_READ.
// June 1998 - MartinHo - Increased LEN_MACHINENAME to 18 to account for the
// leading "\\" characters. (version 1.05)
// Feb 1999 - A-ERICR - added reg dump, reg find, and many bug fixes(1.06)
// April 1999 Zeyong Xu: re-design, revision -> version 2.0
//
//------------------------------------------------------------------------//
#ifndef _REG_H
#define _REG_H
#include "appvars.h"
LONG AddRegistry(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
VOID
InitGlobalStrings(
VOID);
void InitAppVars(PAPPVARS pAppVars);
void FreeAppVars(PAPPVARS pAppVars);
void Banner();
REG_STATUS BreakDownKeyString(TCHAR *szStr, PAPPVARS pAppVars);
REG_STATUS ParseKeyName(TCHAR *szStr, PAPPVARS pAppVars);
BOOL BSearchRegistry(LPTSTR lpszKey,
PTSTR lpszSearch,
LPTSTR lpszValue,
DWORD dwType,
DWORD dwSizeOfValue);
LONG CopyEnumerateKey(HKEY hKey,
TCHAR* szSubKey,
HKEY hDstKey,
TCHAR* szDstSubKey,
BOOL *bOverWriteAll,
BOOL bSubToAll);
LONG CopyRegistry(PAPPVARS pAppVars,
PAPPVARS pDstVars,
UINT argc,
TCHAR *argv[]);
LONG CopyValue(HKEY hKey,
TCHAR* szValueName,
HKEY hDstKey,
TCHAR* szDstValueName,
BOOL *bOverWriteAll);
LONG RecursiveDeleteKey(HKEY hKey, LPCTSTR szName);
LONG DeleteRegistry(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
LONG DeleteValues(PAPPVARS pAppVars);
void ErrorMessage(UINT nErr);
void GetTypeStrFromType(TCHAR *szTypeStr, DWORD dwType);
REG_STATUS ParseMachineName(TCHAR* szStr, PAPPVARS pAppVars);
DWORD IsRegDataType(TCHAR *szStr);
LONG LoadHive(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
BOOL Prompt(LPCTSTR szFormat, LPCTSTR szStr, BOOL bForce);
LONG QueryEnumerateKey(HKEY hKey,
TCHAR* szFullKey,
BOOL bRecurseSubKeys);
LONG QueryRegistry(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
LONG QueryValue(HKEY hKey, TCHAR* szValueName);
LONG RegAdjustTokenPrivileges(TCHAR *szMachine,
TCHAR *szPrivilege,
LONG nAttribute);
LONG RegConnectMachine(PAPPVARS pAppVars);
LONG RestoreHive(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
LONG RegRestoreKeyWin98(HKEY hKey,
TCHAR* szSubKey,
TCHAR* szFile);
LONG SaveHive(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
LONG UnLoadHive(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
void Usage(APPVARS AppVars);
void Who();
LONG ExportRegFile(PAPPVARS pAppVars,UINT argc,TCHAR *argv[]);
LONG ImportRegFile(PAPPVARS pAppVars,UINT argc,TCHAR *argv[]);
REG_STATUS ParseExportCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseImportCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseRegCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseAddCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseCopyCmdLine(PAPPVARS pAppVars,
PAPPVARS pDstVars,
UINT argc,
TCHAR *argv[]);
REG_STATUS ParseDeleteCmdLine(PAPPVARS pAppVars,
UINT argc,
TCHAR *argv[]);
REG_STATUS ParseQueryCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseSaveCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseUnLoadCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseExportCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
REG_STATUS ParseImportCmdLine(PAPPVARS pAppVars, UINT argc, TCHAR *argv[]);
LONG CompareRegistry(PAPPVARS pAppVars,
PAPPVARS pDstVars,
UINT argc,
TCHAR *argv[]);
int __cdecl
MyTPrintf(
FILE* fp,
LPCTSTR FormatString,
...
);
extern TCHAR g_NoName[100];
BOOL SetThreadUILanguage0( DWORD dwReserved );
#endif //_REG_H