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.

126 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. edithive.h
  5. Abstract:
  6. include for user-mode hive editing library
  7. Author:
  8. John Vert (jvert) 27-Mar-1992
  9. Revision History:
  10. --*/
  11. #include "ntos.h"
  12. #include "cmp.h"
  13. #define TYPE_SIMPLE 0
  14. #define TYPE_LOG 1
  15. #define TYPE_ALT 2
  16. HANDLE
  17. EhOpenHive(
  18. IN PUNICODE_STRING FileName,
  19. OUT PHANDLE RootCell,
  20. OUT PUNICODE_STRING RootName,
  21. IN ULONG HiveType
  22. );
  23. VOID
  24. EhCloseHive(
  25. IN HANDLE Hive
  26. );
  27. NTSTATUS
  28. EhEnumerateValueKey(
  29. IN HANDLE HiveHandle,
  30. IN HANDLE CellHandle,
  31. IN ULONG Index,
  32. IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
  33. IN PVOID KeyValueInformation,
  34. IN ULONG Length,
  35. IN PULONG ResultLength
  36. );
  37. NTSTATUS
  38. EhEnumerateKey(
  39. IN HANDLE HiveHandle,
  40. IN HANDLE CellHandle,
  41. IN ULONG Index,
  42. IN KEY_INFORMATION_CLASS KeyInformationClass,
  43. IN PVOID KeyInformation,
  44. IN ULONG Length,
  45. IN PULONG ResultLength
  46. );
  47. NTSTATUS
  48. EhOpenChildByName(
  49. HANDLE HiveHandle,
  50. HANDLE KeyHandle,
  51. PUNICODE_STRING Name,
  52. PHANDLE ChildCell
  53. );
  54. NTSTATUS
  55. EhCreateChild(
  56. IN HANDLE HiveHandle,
  57. IN HANDLE CellHandle,
  58. IN PUNICODE_STRING Name,
  59. OUT PHANDLE ChildCell,
  60. OUT PULONG Disposition OPTIONAL
  61. );
  62. NTSTATUS
  63. EhQueryKey(
  64. IN HANDLE HiveHandle,
  65. IN HANDLE KeyHandle,
  66. IN KEY_INFORMATION_CLASS KeyInformationClass,
  67. IN PVOID KeyInformation,
  68. IN ULONG Length,
  69. IN PULONG ResultLength
  70. );
  71. NTSTATUS
  72. EhQueryValueKey(
  73. IN HANDLE HiveHandle,
  74. IN HANDLE KeyHandle,
  75. IN PUNICODE_STRING ValueName,
  76. IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
  77. IN PVOID KeyValueInformation,
  78. IN ULONG Length,
  79. IN PULONG ResultLength
  80. );
  81. NTSTATUS
  82. EhSetValueKey(
  83. IN HANDLE HiveHandle,
  84. IN HANDLE CellHandle,
  85. IN PUNICODE_STRING ValueName,
  86. IN ULONG TitleIndex OPTIONAL,
  87. IN ULONG Type,
  88. IN PVOID Data,
  89. IN ULONG DataSize
  90. );
  91. NTSTATUS
  92. EhDeleteValueKey(
  93. IN HANDLE Hive,
  94. IN HANDLE Cell,
  95. IN PUNICODE_STRING ValueName // RAW
  96. );
  97. PSECURITY_DESCRIPTOR
  98. EhGetKeySecurity(
  99. IN HANDLE HiveHandle,
  100. IN HANDLE KeyHandle
  101. );
  102.