Leaked source code of windows server 2003
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.

98 lines
1.5 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. BOOL
  20. WINAPI
  21. Merge_Entry (
  22. IN HINSTANCE hinstDLL,
  23. IN DWORD dwReason,
  24. IN LPVOID lpv
  25. );
  26. BOOL
  27. MergeRegistry (
  28. IN LPCTSTR FileName,
  29. IN LPCTSTR User
  30. );
  31. BOOL
  32. SuppressWin95Object (
  33. IN LPCTSTR ObjectStr
  34. );
  35. PBYTE
  36. FilterRegValue (
  37. IN PBYTE Data,
  38. IN DWORD DataSize,
  39. IN DWORD DataType,
  40. IN PCTSTR KeyForDbgMsg, OPTIONAL
  41. OUT PDWORD NewDataSize
  42. );
  43. //
  44. // HKCR merge code
  45. //
  46. typedef enum {
  47. ANY_CONTEXT,
  48. ROOT_BASE,
  49. CLSID_BASE,
  50. CLSID_COPY,
  51. CLSID_INSTANCE_COPY,
  52. TYPELIB_BASE,
  53. TYPELIB_VERSION_COPY,
  54. INTERFACE_BASE,
  55. TREE_COPY,
  56. TREE_COPY_NO_OVERWRITE,
  57. KEY_COPY,
  58. COPY_DEFAULT_VALUE,
  59. COPY_DEFAULT_ICON
  60. } MERGE_CONTEXT;
  61. BOOL
  62. MergeRegistryNode (
  63. IN PCTSTR RootKey,
  64. IN MERGE_CONTEXT Context
  65. );
  66. #ifdef DEBUG
  67. #define DEBUGENCODER DebugEncoder
  68. #else
  69. #define DEBUGENCODER(x) NULL
  70. #endif
  71. PCTSTR
  72. DebugEncoder (
  73. PVOID ObPtr
  74. );