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.4 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. hmgr.hxx
  5. Abstract:
  6. This header file declares handle manager related functions.
  7. Author:
  8. JasonHa
  9. --*/
  10. #ifndef _HMGR_HXX_
  11. #define _HMGR_HXX_
  12. #include "flags.hxx"
  13. extern char *pszTypes[];
  14. extern char *pszTypes2[];
  15. #define TOTAL_TYPE (MAX_TYPE+1)
  16. #define ANY_TYPE -1
  17. HRESULT GetEntryPhysicalAddress(PDEBUG_CLIENT Client,
  18. ULONG64 Handle64,
  19. PULONG64 Address);
  20. HRESULT GetObjectAddress(PDEBUG_CLIENT Client,
  21. ULONG64 Handle64,
  22. PULONG64 Address,
  23. UCHAR ExpectedType = ANY_TYPE,
  24. BOOL ValidateFullUnique = TRUE,
  25. BOOL ValidateBaseObj = TRUE);
  26. HRESULT GetObjectHandle(PDEBUG_CLIENT Client,
  27. ULONG64 ObjectAddr,
  28. PULONG64 Handle64,
  29. BOOL ValidateHandle = TRUE,
  30. UCHAR ExpectedType = ANY_TYPE);
  31. HRESULT
  32. GetMaxHandles(
  33. PDEBUG_CLIENT Client,
  34. PULONG64 MaxHandles
  35. );
  36. #define GET_BITS_UNSHIFTED 1
  37. #define GET_BITS_DEFAULT 0
  38. HRESULT
  39. GetIndexFromHandle(
  40. PDEBUG_CLIENT Client,
  41. ULONG64 Handle64,
  42. PULONG64 Index
  43. );
  44. HRESULT
  45. GetTypeFromHandle(
  46. PDEBUG_CLIENT Client,
  47. ULONG64 Handle64,
  48. PULONG64 Type,
  49. FLONG Flags = GET_BITS_DEFAULT
  50. );
  51. HRESULT
  52. GetAltTypeFromHandle(
  53. PDEBUG_CLIENT Client,
  54. ULONG64 Handle64,
  55. PULONG64 AltType,
  56. FLONG Flags = GET_BITS_DEFAULT
  57. );
  58. HRESULT
  59. GetFullTypeFromHandle(
  60. PDEBUG_CLIENT Client,
  61. ULONG64 Handle64,
  62. PULONG64 FullType,
  63. FLONG Flags = GET_BITS_DEFAULT
  64. );
  65. HRESULT
  66. GetStockFromHandle(
  67. PDEBUG_CLIENT Client,
  68. ULONG64 Handle64,
  69. PULONG64 Stock,
  70. FLONG Flags = GET_BITS_DEFAULT
  71. );
  72. HRESULT
  73. GetFullUniqueFromHandle(
  74. PDEBUG_CLIENT Client,
  75. ULONG64 Handle64,
  76. PULONG64 FullUnique,
  77. FLONG Flags = GET_BITS_DEFAULT
  78. );
  79. HRESULT
  80. OutputHandleInfo(
  81. OutputControl *OutCtl,
  82. PDEBUG_CLIENT Client,
  83. PDEBUG_VALUE Handle
  84. );
  85. HRESULT
  86. OutputFullUniqueInfo(
  87. OutputControl *OutCtl,
  88. PDEBUG_CLIENT Client,
  89. PDEBUG_VALUE FullUnique
  90. );
  91. void HmgrInit(PDEBUG_CLIENT);
  92. void HmgrExit();
  93. #endif _HMGR_HXX_