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