Share via


CArchive::WriteClass

Utilice WriteClass para almacenar la información de versión y de clase de una clase base durante la serialización de clases derivadas.

void WriteClass(
   const CRuntimeClass* pClassRef 
);

Parámetros

  • pClassRef
    Un puntero a la estructura de Recursos que corresponde a la clase referencia solicitada.

Comentarios

WriteClass escribe una referencia a Recursos para la clase base a CArchive.Uso CArchive::ReadClass de recuperar la referencia.

WriteClass comprueba que la información almacenada de la clase es compatible con la clase del runtime.Si no es compatible, WriteClass producirá CArchiveException.

La clase en tiempo de ejecución debe usar DECLARE_SERIAL y IMPLEMENT_SERIAL; si no, WriteClass producirá CNotSupportedException.

Puede utilizar SerializeClass en lugar de WriteClass, que controla la lectura y la escritura de la referencia de la clase.

Ejemplo

CFile myFile(_T("My__test__file.dat"), 
   CFile::modeCreate | CFile::modeReadWrite);

// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);

// Store the class CAge in the archive.
arStore.WriteClass(RUNTIME_CLASS(CAge));

// Close the storing archive.
arStore.Close();

// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);

// Load a class from the archive.
CRuntimeClass* pClass = arLoad.ReadClass();
if (!pClass->IsDerivedFrom(RUNTIME_CLASS(CAge)))
{
   arLoad.Abort();                  
}

Requisitos

encabezado: afx.h

Vea también

Referencia

Clase CArchive

Gráfico de jerarquía

CArchive::ReadClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchive::SerializeClass

Clase de CArchiveException

Clase de CNotSupportedException

CObList::CObList