Partager via


CArchive::SetStoreParams

Utilisez SetStoreParams en stockant un grand nombre d' CObject- objets dérivés de dans une archive.

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

Paramètres

  • nHashSize
    La taille de la table de hachage pour les cartes de pointeur d'interface. Doit être un nombre premier.

  • nBlockSize
    Spécifie la granularité d'allocation de mémoire pour étendre les paramètres. Doit être une puissance de 2 pour de meilleures performances.

Notes

SetStoreParams permet de définir la taille de table de hachage et la taille des blocs de mappage utilisée pour identifier de seuls objets pendant le processus de sérialisation.

Vous ne devez pas appeler SetStoreParams après que tous les objets soient stockés, ou après MapObject ou WriteObject est appelé.

Exemple

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
   }
}

Configuration requise

Header: afx.h

Voir aussi

Référence

CArchive, classe

Graphique de la hiérarchie

CArchive::SetLoadParams