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

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: scavenge.hxx
//
// Contents:
//
// Classes:
//
// Functions:
//
// History: 7-30-96 RichardW Created
//
//----------------------------------------------------------------------------
#ifndef __SCAVENGE_HXX__
#define __SCAVENGE_HXX__
//
// Structure used to control scavenger items
//
typedef struct _LSAP_SCAVENGER_ITEM {
LIST_ENTRY List ;
ULONG Flags; // Flags, like spawn a new thread
ULONG Type; // Type, interval or handle
ULONG RefCount ; // Reference Count
LPTHREAD_START_ROUTINE Function; // function to call
PVOID Parameter ; // parameter to pass
HANDLE TimerHandle ; // Timer handle
ULONG Class; // Class of event
PVOID NotifyEvent; // Notify Event
ULONG_PTR PackageId; // Package that registered
LIST_ENTRY PackageList ; // Package List
ULONG ScavCheck; // Quick check to make sure its valid
} LSAP_SCAVENGER_ITEM, * PLSAP_SCAVENGER_ITEM ;
typedef struct _LSAP_NOTIFY_EVENT {
LIST_ENTRY List ;
ULONG Flags; // Flags (sync, etc)
HANDLE hSync;
SECPKG_EVENT_NOTIFY Notify;
} LSAP_NOTIFY_EVENT, * PLSAP_NOTIFY_EVENT ;
//
// Magic values to protect ourselves from mean spirited packages
//
#define SCAVMAGIC_ACTIVE 0x76616353
#define SCAVMAGIC_FREE 0x65657266
typedef struct _LSAP_PAGE_TOUCH {
LIST_ENTRY List ;
PVOID Address ;
SIZE_T Range ;
} LSAP_PAGE_TOUCH, * PLSAP_PAGE_TOUCH ;
#endif