This documentation is archived and is not being maintained.


Call this member function to read a reference to a class previously stored with WriteClass.

CRuntimeClass* ReadClass( 
   const CRuntimeClass* pClassRefRequested = NULL, 
   UINT* pSchema = NULL, 
   DWORD* pObTag = NULL  



A pointer to the CRuntimeClass structure that corresponds to the class reference requested. Can be NULL.


A pointer to a schema of the run-time class previously stored.


A number that refers to an object's unique tag. Used internally by the implementation of ReadObject. Exposed for advanced programming only; pObTag normally should be NULL.

A pointer to the CRuntimeClass structure.

If pClassRefRequested is not NULL, ReadClass verifies that the archived class information is compatible with your runtime class. If it is not compatible, ReadClass will throw a CArchiveException.

Your runtime class must use DECLARE_SERIAL and IMPLEMENT_SERIAL; otherwise, ReadClass will throw a CNotSupportedException.

If pSchema is NULL, the schema of the stored class can be retrieved by calling CArchive::GetObjectSchema; otherwise, *pSchema will contain the schema of the run-time class that was previously stored.

You can use SerializeClass instead of ReadClass, which handles both reading and writing of the class reference.

See the example for CArchive::WriteClass.