CArchive::SetStoreParams
更新 : 2007 年 11 月
SetStoreParams は、アーカイブに大量の CObject 派生オブジェクトを格納する場合に使用します。
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