次の方法で共有


CArchive::SetStoreParams

複数の CObject-アーカイブの派生オブジェクトを格納する場合は SetStoreParams を使用します。

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

パラメーター

  • nHashSize
    インターフェイス ポインターのマップのハッシュ テーブルのサイズ。素数である必要があります。

  • nBlockSize
    パラメーターを拡張するためのメモリ割り当ての単位を指定します。最大限のパフォーマンスの 2 の累乗である必要があります。

解説

SetStoreParams は、シリアル化プロセス中に、一意のオブジェクトを識別するマップのハッシュ テーブルのサイズとブロック サイズを設定できるようになります。

オブジェクトは、格納されている、または MapObjectWriteObject の後に呼び出されます後 SetStoreParams を呼び出すことはできません。

使用例

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

必要条件

ヘッダー : afx.h

参照

関連項目

CArchive クラス

階層図

CArchive::SetLoadParams