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.

61 lines
1.9 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: scavenge.hxx
  7. //
  8. // Contents:
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. // History: 7-30-96 RichardW Created
  15. //
  16. //----------------------------------------------------------------------------
  17. #ifndef __SCAVENGE_HXX__
  18. #define __SCAVENGE_HXX__
  19. //
  20. // Structure used to control scavenger items
  21. //
  22. typedef struct _LSAP_SCAVENGER_ITEM {
  23. LIST_ENTRY List ;
  24. ULONG Flags; // Flags, like spawn a new thread
  25. ULONG Type; // Type, interval or handle
  26. ULONG RefCount ; // Reference Count
  27. LPTHREAD_START_ROUTINE Function; // function to call
  28. PVOID Parameter ; // parameter to pass
  29. HANDLE TimerHandle ; // Timer handle
  30. ULONG Class; // Class of event
  31. PVOID NotifyEvent; // Notify Event
  32. ULONG_PTR PackageId; // Package that registered
  33. LIST_ENTRY PackageList ; // Package List
  34. ULONG ScavCheck; // Quick check to make sure its valid
  35. } LSAP_SCAVENGER_ITEM, * PLSAP_SCAVENGER_ITEM ;
  36. typedef struct _LSAP_NOTIFY_EVENT {
  37. LIST_ENTRY List ;
  38. ULONG Flags; // Flags (sync, etc)
  39. HANDLE hSync;
  40. SECPKG_EVENT_NOTIFY Notify;
  41. } LSAP_NOTIFY_EVENT, * PLSAP_NOTIFY_EVENT ;
  42. //
  43. // Magic values to protect ourselves from mean spirited packages
  44. //
  45. #define SCAVMAGIC_ACTIVE 0x76616353
  46. #define SCAVMAGIC_FREE 0x65657266
  47. typedef struct _LSAP_PAGE_TOUCH {
  48. LIST_ENTRY List ;
  49. PVOID Address ;
  50. SIZE_T Range ;
  51. } LSAP_PAGE_TOUCH, * PLSAP_PAGE_TOUCH ;
  52. #endif