Partilhar via


CArchive::WriteClass

Use WriteClass para armazenar as informações de versão e a classe de uma classe base durante a serialização da classe derivada.

void WriteClass(
   const CRuntimeClass* pClassRef 
);

Parâmetros

  • pClassRef
    Um ponteiro para o CRuntimeClass estrutura que corresponde à referência de classe solicitada.

Comentários

WriteClass grava uma referência para o CRuntimeClass para a classe base para o CArchive. Use CArchive::ReadClass para recuperar a referência.

WriteClass verifica se as informações de classe arquivada são compatível com sua classe em tempo de execução. Se não for compatível, WriteClass lançará um CArchiveException.

A classe tempo de execução deve usar DECLARE_SERIAL and IMPLEMENT_SERIAL; caso contrário, WriteClass lançará um CNotSupportedException.

Você pode usar SerializeClass em vez de WriteClass, que manipula tanto de leitura e gravação da referência da classe.

Exemplo

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

Cabeçalho: afx.h

Consulte também

Referência

Classe CArchive

Gráfico de hierarquia

CArchive::ReadClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchive::SerializeClass

Classe CArchiveException

Classe CNotSupportedException

CObList::CObList

Outros recursos

CArchive membros