Source code of Windows XP (NT5)
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.

86 lines
2.0 KiB

  1. /*******************************************************************************
  2. *
  3. * (C) COPYRIGHT MICROSOFT CORP., 1993-1994
  4. *
  5. * TITLE: REGPORTE.H
  6. *
  7. * VERSION: 4.01
  8. *
  9. * AUTHOR: Tracy Sharpe
  10. *
  11. * DATE: 06 Apr 1994
  12. *
  13. * File import and export engine routines for the Registry Editor.
  14. *
  15. *******************************************************************************/
  16. #ifndef _INC_REGPORTE
  17. #define _INC_REGPORTE
  18. #ifndef LPHKEY
  19. #define LPHKEY HKEY FAR*
  20. #endif
  21. typedef struct _REGISTRY_ROOT {
  22. LPSTR lpKeyName;
  23. HKEY hKey;
  24. } REGISTRY_ROOT;
  25. #define INDEX_HKEY_CLASSES_ROOT 0
  26. #define INDEX_HKEY_CURRENT_USER 1
  27. #define INDEX_HKEY_LOCAL_MACHINE 2
  28. #define INDEX_HKEY_USERS 3
  29. // #define INDEX_HKEY_PERFORMANCE_DATA 4
  30. #define INDEX_HKEY_CURRENT_CONFIG 5
  31. #define INDEX_HKEY_DYN_DATA 6
  32. // #define NUMBER_REGISTRY_ROOTS 7
  33. #define NUMBER_REGISTRY_ROOTS 6
  34. // This is supposed to be enough for one keyname plus one predefined
  35. // handle name. The longest predefined handle name is < 25 characters, so
  36. // this gives us room for growth should more predefined keys be added.
  37. #define SIZE_SELECTED_PATH (MAXKEYNAME + 40)
  38. extern const CHAR g_HexConversion[];
  39. extern UINT g_FileErrorStringID;
  40. DWORD
  41. PASCAL
  42. CreateRegistryKey(
  43. LPHKEY lphKey,
  44. LPSTR lpFullKeyName,
  45. BOOL fCreate
  46. );
  47. VOID
  48. PASCAL
  49. ImportRegFile(
  50. LPSTR lpFileName
  51. );
  52. VOID
  53. PASCAL
  54. ExportWin40RegFile(
  55. LPSTR lpFileName,
  56. LPSTR lpSelectedPath
  57. );
  58. VOID
  59. PASCAL
  60. ImportRegFileUICallback(
  61. UINT Percentage
  62. );
  63. LONG RegSetValueEx(
  64. HKEY hKey, // handle of key to set value for
  65. LPCSTR lpValueName, // address of value to set
  66. DWORD Reserved, // reserved
  67. DWORD dwType, // flag for value type
  68. CONST BYTE FAR * lpData, // address of value data
  69. DWORD cbData // size of value data
  70. );
  71. #endif // _INC_REGPORTE