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.
|
|
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name: hndlmgr.hxx
Abstract:
Interfaces to manage a heap of handles with a free list. All methods assume caller has serialized concurrent access.
Author:
Rajeev Dujari (rajeevd) 08-Nov-96
Revision History:
--*/
struct HNDLHEAP { DWORD_PTR dwNumHandles; // current number of handles in array
DWORD dwNumInUse; // number of handles in use
DWORD_PTR dwMaxHandles; // lowest value returned by allocator
DWORD_PTR dwFirstFree; // index of first free element in array
LPVOID pvHandles[1]; // array of handle values
};
class HNDLMGR { HNDLHEAP* pHeap;
BOOL IsValidOffset (DWORD_PTR dwp); public: HNDLMGR() {pHeap = NULL;} void Destroy (void); BOOL InUse(void) {return pHeap && pHeap->dwNumInUse;} HANDLE Alloc (DWORD cbAlloc); LPVOID Map (HANDLE h); BOOL Free (HANDLE h); VOID InvalidateAll(); };
|