103 lines
2 KiB
C++
103 lines
2 KiB
C++
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
Copyright (c) 1989-1999 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
sdesc.hxx
|
||
|
||
Abstract:
|
||
|
||
Stub descriptor dictionary
|
||
|
||
Notes:
|
||
|
||
|
||
History:
|
||
|
||
----------------------------------------------------------------------------*/
|
||
#ifndef __SDESC_HXX__
|
||
#define __SDESC_HXX__
|
||
/****************************************************************************
|
||
* include files
|
||
***************************************************************************/
|
||
#include "nulldefs.h"
|
||
extern "C"
|
||
{
|
||
#include <stdio.h>
|
||
|
||
#include <string.h>
|
||
}
|
||
#include "cgcommon.hxx"
|
||
#include "dict.hxx"
|
||
|
||
/****************************************************************************
|
||
* local definitions
|
||
***************************************************************************/
|
||
/****************************************************************************
|
||
* local data
|
||
***************************************************************************/
|
||
|
||
/****************************************************************************
|
||
* externs
|
||
***************************************************************************/
|
||
|
||
extern int CompareSDesc( void *, void *);
|
||
extern void PrintSDesc( void * );
|
||
|
||
/****************************************************************************/
|
||
|
||
|
||
//
|
||
typedef struct _sdesc
|
||
{
|
||
PNAME pName;
|
||
PNAME AllocRtnName;
|
||
PNAME FreeRtnName;
|
||
PNAME RundownRtnName;
|
||
BOOL fEmitted;
|
||
|
||
void ResetEmitted()
|
||
{
|
||
fEmitted = FALSE;
|
||
}
|
||
|
||
void MarkAsEmitted()
|
||
{
|
||
fEmitted = TRUE;
|
||
}
|
||
|
||
BOOL IsEmitted()
|
||
{
|
||
return (fEmitted == TRUE);
|
||
}
|
||
} SDESC;
|
||
|
||
// This class manages stub descriptors.
|
||
|
||
class SDESCMGR : public Dictionary
|
||
{
|
||
private:
|
||
public:
|
||
|
||
SDESCMGR() : Dictionary()
|
||
{
|
||
}
|
||
|
||
~SDESCMGR()
|
||
{
|
||
// UNDONE
|
||
}
|
||
|
||
// Register an entry.
|
||
|
||
SDESC * Register( PNAME AllocRtnName,
|
||
PNAME FreeRtnName,
|
||
PNAME RundownName );
|
||
|
||
virtual
|
||
SSIZE_T Compare (pUserType pL, pUserType pR);
|
||
|
||
};
|
||
|
||
#endif // __SDESC_HXX__
|