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.
 
 
 
 
 
 

114 lines
2.2 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
session.hxx
Abstract:
This file declares routines to handle sessions.
Author:
Jason Hartman (JasonHa) 2000-12-21
Environment:
User Mode
--*/
#ifndef _SESSION_HXX_
#define _SESSION_HXX_
#include "typeout.hxx"
#define CURRENT_SESSION -1
#define DEFAULT_SESSION -2
#define INVALID_SESSION -3
typedef HRESULT (* PoolFilterFunc)(
OutputControl *OutCtl,
ULONG64 PoolAddr,
ULONG TagFilter,
TypeOutputParser *PoolHeadReader,
PDEBUG_VALUE Tag,
ULONG BlockSize,
BOOL bQuotaWithTag,
PVOID Context
);
typedef struct _ALLOCATION_STATS {
ULONG AllocatedPages;
ULONG LargePages;
ULONG LargeAllocs;
ULONG FreePages;
ULONG ExpansionPages;
ULONG Allocated; // Number of allocated entries
ULONG AllocatedSize; // Size in Pool Blocks
ULONG Free; // Number of free entries
ULONG FreeSize; // Size in Pool Blocks
ULONG Indeterminate; // Number of entries with interdeterminable alloc/free status
ULONG IndeterminateSize; // Size in Pool Blocks
} ALLOCATION_STATS, *PALLOCATION_STATS;
extern ULONG SessionId;
extern CHAR SessionStr[16];
void SessionInit(PDEBUG_CLIENT Client);
void SessionExit();
HRESULT
GetPhysicalAddress(
PDEBUG_CLIENT Client,
ULONG Session,
ULONG64 VirtAddr,
PULONG64 PhysAddr
);
HRESULT
GetCurrentSession(
PDEBUG_CLIENT Client,
PULONG64 CurSessionSpace,
PULONG CurSessionId
);
HRESULT
GetSessionSpace(
PDEBUG_CLIENT Client,
ULONG Session,
PULONG64 SessionSpace
);
#define SEARCH_POOL_NONPAGED 0x0001
#define SEARCH_POOL_PAGED 0x0002
#define SEARCH_POOL_LARGE_ONLY 0x0004
#define SEARCH_POOL_PRINT_LARGE 0x0008
#define SEARCH_POOL_PRINT_UNREAD 0x0010
HRESULT
SearchSessionPool(
PDEBUG_CLIENT Client,
ULONG Session,
ULONG TagName,
FLONG Flags,
ULONG64 RestartAddr,
PoolFilterFunc Filter,
PALLOCATION_STATS AllocStats,
PVOID Context
);
#endif _SESSION_HXX_