Condividi tramite


CArchive::SetStoreParams

Utilizzare SetStoreParams quando si archiviano tantissimo CObjectdi oggetti derivati in un archivio.

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

Parametri

  • nHashSize
    La dimensione della tabella hash per i mapping dei puntatori a interfaccia. Deve essere un numero primo.

  • nBlockSize
    Specifica la granularità di allocazione della memoria per l'estensione dei parametri. Deve essere una potenza di 2 per prestazioni ottimali.

Note

SetStoreParams consente di impostare il hash presenti le dimensioni e la dimensione di un blocco di mapping utilizzato per identificare gli oggetti univoci durante il processo di serializzazione.

Non è necessario chiamare SetStoreParams dopo che tutti gli oggetti vengono archiviati, o dopo MapObject o WriteObject viene chiamato.

Esempio

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

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe CArchive

Grafico delle gerarchie

CArchive::SetLoadParams