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.

63 lines
1.3 KiB

  1. #pragma once
  2. #ifdef __cplusplus
  3. extern "C" {
  4. #endif
  5. #define RTL_STRING_POOL_FRAME_FLAG_REGION_INLINE (0x00000001)
  6. typedef struct _RTL_STRING_POOL_FRAME {
  7. ULONG ulFlags;
  8. PVOID pvRegion;
  9. SIZE_T cbRegionAvailable;
  10. PVOID pvNextAvailable;
  11. }
  12. RTL_STRING_POOL_FRAME, *PRTL_STRING_POOL_FRAME;
  13. typedef struct _RTL_STRING_POOL {
  14. ULONG ulFramesCount;
  15. RTL_GROWING_LIST FrameList;
  16. RTL_ALLOCATOR Allocator;
  17. SIZE_T cbBytesInNewRegion;
  18. }
  19. RTL_STRING_POOL, *PRTL_STRING_POOL;
  20. #define RTL_STRING_POOL_CREATE_INITIAL_REGION_SPLIT (0x00000001)
  21. #define RTL_STRING_POOL_CREATE_INITIAL_REGION_IS_LIST (0x00000002)
  22. #define RTL_STRING_POOL_CREATE_INITIAL_REGION_IS_STRINGS (0x00000003)
  23. #define RTL_STRING_POOL_CREATE_INITIAL_REGION_MASK (0x0000000f)
  24. NTSTATUS
  25. RtlCreateStringPool(
  26. ULONG ulFlags,
  27. PRTL_STRING_POOL ppStringPool,
  28. SIZE_T cbBytesInFrames,
  29. PRTL_ALLOCATOR Allocation,
  30. PVOID pvOriginalRegion,
  31. SIZE_T cbOriginalRegion
  32. );
  33. NTSTATUS
  34. RtlAllocateStringInPool(
  35. ULONG ulFlags,
  36. PRTL_STRING_POOL pStringPool,
  37. PUNICODE_STRING pusOutbound,
  38. SIZE_T ulByteCount
  39. );
  40. NTSTATUS
  41. RtlDestroyStringPool(
  42. PRTL_STRING_POOL pStringPool
  43. );
  44. #ifdef __cplusplus
  45. };
  46. #endif