CArchive::SetStoreParams
複数の CObject-アーカイブの派生オブジェクトを格納する場合は SetStoreParams を使用します。
void SetStoreParams(
UINT nHashSize = 2053,
UINT nBlockSize = 128
);
パラメーター
nHashSize
インターフェイス ポインターのマップのハッシュ テーブルのサイズ。素数である必要があります。nBlockSize
パラメーターを拡張するためのメモリ割り当ての単位を指定します。最大限のパフォーマンスの 2 の累乗である必要があります。
解説
SetStoreParams は、シリアル化プロセス中に、一意のオブジェクトを識別するマップのハッシュ テーブルのサイズとブロック サイズを設定できるようになります。
オブジェクトは、格納されている、または MapObject か WriteObject の後に呼び出されます後 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