Freigeben über


CArchive::SetStoreParams

Verwenden Sie SetStoreParams, wenn Sie viele CObject abgeleitete Objekte in einem Archiv speichern.

void SetStoreParams(
   UINT nHashSize = 2053,
   UINT nBlockSize = 128 
);

Parameter

  • nHashSize
    Die Größe der Hashtabelle für Schnittstellenzeigerzuordnungen.sollte eine Primzahl.

  • nBlockSize
    Gibt die Speicherbelegungsgranularität zum Erweitern der Parameter an.sollte eine Potenz von 2 für die beste Leistung.

Hinweise

SetStoreParams ermöglicht es Ihnen, die Hashtabellengröße und die Blockgröße der Zuordnung festzulegen, die verwendet wird, um eindeutige Objekte während des Serialisierungsprozesses zu identifizieren.

Sie dürfen SetStoreParams nicht aufrufen, nachdem alle Objekte gespeichert sind, oder nach MapObject oder WriteObject wird aufgerufen.

Beispiel

class CMyLargeDocument : public CDocument
{
public:
   virtual void Serialize(CArchive& ar);
};
void CMyLargeDocument::Serialize(CArchive& ar)
{
   if (ar.IsStoring())
      ar.SetStoreParams();  // use large defaults
   else
      ar.SetLoadParams();

   if (ar.IsStoring())
   {
      // code for storing CMyLargeDocument
   }
   else
   {
      // code for loading CMyLargeDocument
   }
}

Anforderungen

Header: afx.h

Siehe auch

Referenz

CArchive-Klasse

Hierarchien-Diagramm

CArchive::SetLoadParams