CArchive::ReadClass
CRuntimeClass* ReadClass(
const RuntimeClass* pClassRefRequested = NULL,
UINT* pSchema = NULL,
DWORD* obTag = NULL
);
throw(CArchiveException);
throw(CNotSupportedException);
返回值:指向CRuntimeClass结构的指针。
参数:
pClassRefRequested
指向CRuntimeClass结构的指针,此结构对应于所需要的类的参考。可以为NULL。
pSchema
指向原先存储的运行时类的大纲的指针。
obTag
代表对象的唯一标识的数值。通过ReadObject的实现,在内部使用。只用于高级编程。obTag通常应为NULL。
说明:
调用此成员函数来读取一个原先存储在WriteClass中的类的参考。
如果pClassRefReguested不为NULL,ReadClass证明了归档文件类信息与例程类是兼容的。
如果不兼容,ReadClass将产生一个CArchiveException。
例程必须使用DECLARE_SERIAL和IMPLEMENT_SERIAL,否则,ReadClass将产生一个CNotSupportedException。
如果pSchema为NULL,则存储类的大纲可通过调用CArchive::GetObjectSchema来恢复,否则,*pSchema将会包含原先存储的运行时类的大纲。
可以使用SerializeClass来代替ReadClass,它可以处理类参考的读和写。
请参阅:
CArchive::WriteClass
,
CArchive::GetObjectSchema
,
CArchive::SetObjectSchema
,
CArchiveException
,
CNotSupportedException
,
CArchive::SerializeClass