|
|
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
hmgr.hxx
Abstract:
This header file declares handle manager related functions.
Author:
JasonHa
--*/
#ifndef _HMGR_HXX_
#define _HMGR_HXX_
#include "flags.hxx"
extern char *pszTypes[]; extern char *pszTypes2[];
#define TOTAL_TYPE (MAX_TYPE+1)
#define ANY_TYPE -1
HRESULT GetEntryPhysicalAddress(PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 Address); HRESULT GetObjectAddress(PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 Address, UCHAR ExpectedType = ANY_TYPE, BOOL ValidateFullUnique = TRUE, BOOL ValidateBaseObj = TRUE); HRESULT GetObjectHandle(PDEBUG_CLIENT Client, ULONG64 ObjectAddr, PULONG64 Handle64, BOOL ValidateHandle = TRUE, UCHAR ExpectedType = ANY_TYPE);
HRESULT GetMaxHandles( PDEBUG_CLIENT Client, PULONG64 MaxHandles );
#define GET_BITS_UNSHIFTED 1
#define GET_BITS_DEFAULT 0
HRESULT GetIndexFromHandle( PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 Index );
HRESULT GetTypeFromHandle( PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 Type, FLONG Flags = GET_BITS_DEFAULT );
HRESULT GetAltTypeFromHandle( PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 AltType, FLONG Flags = GET_BITS_DEFAULT );
HRESULT GetFullTypeFromHandle( PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 FullType, FLONG Flags = GET_BITS_DEFAULT );
HRESULT GetStockFromHandle( PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 Stock, FLONG Flags = GET_BITS_DEFAULT );
HRESULT GetFullUniqueFromHandle( PDEBUG_CLIENT Client, ULONG64 Handle64, PULONG64 FullUnique, FLONG Flags = GET_BITS_DEFAULT );
HRESULT OutputHandleInfo( OutputControl *OutCtl, PDEBUG_CLIENT Client, PDEBUG_VALUE Handle );
HRESULT OutputFullUniqueInfo( OutputControl *OutCtl, PDEBUG_CLIENT Client, PDEBUG_VALUE FullUnique );
void HmgrInit(PDEBUG_CLIENT); void HmgrExit();
#endif _HMGR_HXX_
|