mirror of https://github.com/tongzx/nt5src
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.
87 lines
2.7 KiB
87 lines
2.7 KiB
// StructureWrappers.h: interface for the CStructureWrappers class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
//***************************************************************************
|
|
//
|
|
// judyp May 1999
|
|
//
|
|
//***************************************************************************
|
|
|
|
#if !defined(AFX_STRUCTUREWRAPPERS_H__138A24E0_ED34_11D2_804A_009027345EE2__INCLUDED_)
|
|
#define AFX_STRUCTUREWRAPPERS_H__138A24E0_ED34_11D2_804A_009027345EE2__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
class CPersistor;
|
|
class CEventTraceProperties;
|
|
|
|
// Need to be declared before seen in class. Well, duh!
|
|
t_ostream& operator<<
|
|
(t_ostream &ros,const CEventTraceProperties &r);
|
|
t_istream& operator>>
|
|
(t_istream &ris,CEventTraceProperties &r);
|
|
|
|
|
|
// The general methodology used here may seem clunky to
|
|
// a C programmer.
|
|
// If you want to serialize an existing
|
|
// EVENT_TRACE_PROPERTIES instance use the Constructor
|
|
// "CEventTraceProperties(PEVENT_TRACE_PROPERTIES pProps)"
|
|
// to create a CEventTraceProperties instance, call
|
|
// Persist, and then destroy the CEventTraceProperties
|
|
// instance.
|
|
// If you want to de-deserialize an instance call the
|
|
// Constructor "CEventTraceProperties()", call Persist,
|
|
// call GetEventTracePropertiesInstance, then destroy the
|
|
// CEventTraceProperties instance.
|
|
// The copy constructor and assignment operators are included
|
|
// only for completeness and it is anticipated that they
|
|
// will not be used.
|
|
// Using Persist for de-serialization assumes you have a valid
|
|
// stream which contains a serialized instance.
|
|
class CEventTraceProperties
|
|
{
|
|
private:
|
|
friend t_ostream& operator<<
|
|
(t_ostream &ros,const CEventTraceProperties &r);
|
|
friend t_istream& operator>>
|
|
(t_istream &ris,CEventTraceProperties &r);
|
|
friend class CPersistor;
|
|
|
|
public:
|
|
CEventTraceProperties();
|
|
// This constructor creates a new EVENT_TRACE_PROPERTIES
|
|
// instance.
|
|
CEventTraceProperties(PEVENT_TRACE_PROPERTIES pProps);
|
|
virtual ~CEventTraceProperties();
|
|
|
|
CEventTraceProperties(CEventTraceProperties &rhs);
|
|
CEventTraceProperties &CEventTraceProperties::operator=
|
|
(CEventTraceProperties &rhs);
|
|
|
|
virtual HRESULT Persist (CPersistor &rPersistor);
|
|
bool DeSerializationOK() {return m_bDeSerializationOK;}
|
|
|
|
// Constructs an new EVENT_TRACE_PROPERTIES instance and
|
|
// returns it.
|
|
PEVENT_TRACE_PROPERTIES GetEventTracePropertiesInstance();
|
|
bool IsNULL() {return m_bIsNULL;}
|
|
|
|
protected:
|
|
bool m_bDeSerializationOK;
|
|
bool m_bIsNULL;
|
|
void Initialize(PEVENT_TRACE_PROPERTIES pProps);
|
|
void InitializeMemberVar(TCHAR *ptszValue, int nVar);
|
|
void *m_pVarArray[19];
|
|
|
|
|
|
PEVENT_TRACE_PROPERTIES m_pProps;
|
|
|
|
|
|
|
|
};
|
|
|
|
#endif // !defined(AFX_STRUCTUREWRAPPERS_H__138A24E0_ED34_11D2_804A_009027345EE2__INCLUDED_)
|