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.

108 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. merge.h
  5. Abstract:
  6. Declares the interface for the Win9x to NT registry merge code.
  7. These routines are used only in GUI mode. See w95upgnt\merge
  8. for implementation details.
  9. Author:
  10. Jim Schmidt (jimschm) 23-Jan-1997
  11. Revision History:
  12. jimschm 25-Mar-1998 Support for hkcr.c
  13. --*/
  14. //
  15. // merge.h -- public interface for merge.lib
  16. //
  17. //
  18. #pragma once
  19. #define REGMERGE_95_SUPPRESS 0x00000001
  20. #define REGMERGE_95_RENAME_SUPPRESS 0x00000002
  21. #define REGMERGE_95_RENAME 0x00000004
  22. #define REGMERGE_NT_MASK 0x0000ff00
  23. #define REGMERGE_NT_SUPPRESS 0x00000100
  24. #define REGMERGE_NT_IGNORE_DEFAULTS 0x00000200
  25. #define REGMERGE_NT_PRIORITY_NT 0x00000400
  26. BOOL
  27. WINAPI
  28. Merge_Entry (
  29. IN HINSTANCE hinstDLL,
  30. IN DWORD dwReason,
  31. IN LPVOID lpv
  32. );
  33. BOOL
  34. MergeRegistry (
  35. IN LPCTSTR FileName,
  36. IN LPCTSTR User
  37. );
  38. BOOL
  39. SuppressWin95Object (
  40. IN LPCTSTR ObjectStr
  41. );
  42. PBYTE
  43. FilterRegValue (
  44. IN PBYTE Data,
  45. IN DWORD DataSize,
  46. IN DWORD DataType,
  47. IN PCTSTR KeyForDbgMsg, OPTIONAL
  48. OUT PDWORD NewDataSize
  49. );
  50. //
  51. // HKCR merge code
  52. //
  53. typedef enum {
  54. ANY_CONTEXT,
  55. ROOT_BASE,
  56. CLSID_BASE,
  57. CLSID_COPY,
  58. CLSID_INSTANCE_COPY,
  59. TYPELIB_BASE,
  60. TYPELIB_VERSION_COPY,
  61. INTERFACE_BASE,
  62. TREE_COPY,
  63. TREE_COPY_NO_OVERWRITE,
  64. KEY_COPY,
  65. COPY_DEFAULT_VALUE,
  66. COPY_DEFAULT_ICON
  67. } MERGE_CONTEXT;
  68. BOOL
  69. MergeRegistryNode (
  70. IN PCTSTR RootKey,
  71. IN MERGE_CONTEXT Context
  72. );
  73. #ifdef DEBUG
  74. #define DEBUGENCODER DebugEncoder
  75. #else
  76. #define DEBUGENCODER(x) NULL
  77. #endif
  78. PCTSTR
  79. DebugEncoder (
  80. PVOID ObPtr
  81. );