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.

120 lines
1.8 KiB

  1. HKEY
  2. OpenRegKeyWorkerA (
  3. IN HKEY ParentKey,
  4. IN PCSTR KeyToOpen OPTIONAL
  5. DEBUG_TRACKING_PARAMS
  6. );
  7. HKEY
  8. OpenRegKeyWorkerW (
  9. IN HKEY ParentKey,
  10. IN PCWSTR KeyToOpen
  11. DEBUG_TRACKING_PARAMS
  12. );
  13. LONG
  14. CloseRegKeyWorker (
  15. IN HKEY Key
  16. );
  17. #ifdef DEBUG
  18. VOID
  19. RegTrackTerminate (
  20. VOID
  21. );
  22. VOID
  23. AddKeyReferenceA (
  24. HKEY Key,
  25. PCSTR SubKey,
  26. PCSTR File,
  27. DWORD Line
  28. );
  29. VOID
  30. AddKeyReferenceW (
  31. HKEY Key,
  32. PCWSTR SubKey,
  33. PCSTR File,
  34. DWORD Line
  35. );
  36. #define TRACK_KEYA(handle,keystr) AddKeyReferenceA(handle,keystr,__FILE__,__LINE__)
  37. #define TRACK_KEYW(handle,keystr) AddKeyReferenceW(handle,keystr,__FILE__,__LINE__)
  38. #else
  39. #define TRACK_KEYA(handle,keystr)
  40. #define TRACK_KEYW(handle,keystr)
  41. #endif
  42. //
  43. // Cache apis
  44. //
  45. BOOL
  46. RegEnumInitialize (
  47. VOID
  48. );
  49. VOID
  50. RegEnumTerminate (
  51. VOID
  52. );
  53. VOID
  54. RegRecordParentInCacheA (
  55. IN PCSTR KeyString,
  56. IN PCSTR StringEnd
  57. );
  58. HKEY
  59. RegGetKeyFromCacheA (
  60. IN PCSTR KeyString,
  61. IN PCSTR End, OPTIONAL
  62. IN REGSAM Sam,
  63. IN BOOL IncRefCount
  64. );
  65. VOID
  66. RegAddKeyToCacheA (
  67. IN PCSTR KeyString,
  68. IN HKEY Key,
  69. IN REGSAM Sam
  70. );
  71. VOID
  72. RegRecordParentInCacheW (
  73. IN PCWSTR KeyString,
  74. IN PCWSTR StringEnd
  75. );
  76. HKEY
  77. RegGetKeyFromCacheW (
  78. IN PCWSTR KeyString,
  79. IN PCWSTR End, OPTIONAL
  80. IN REGSAM Sam,
  81. IN BOOL IncRefCount
  82. );
  83. VOID
  84. RegAddKeyToCacheW (
  85. IN PCWSTR KeyString,
  86. IN HKEY Key,
  87. IN REGSAM Sam
  88. );
  89. BOOL
  90. RegDecrementRefCount (
  91. IN HKEY Key
  92. );
  93. VOID
  94. RegIncrementRefCount (
  95. IN HKEY Key
  96. );
  97. extern REGSAM g_OpenSam;