AfxDoForAllClasses
更新 : 2007 年 11 月
アプリケーションのメモリ空間内のすべてのシリアル化可能な CObject 派生クラスに対して反復関数の実行を呼び出します。
void AFXAPI AfxDoForAllClasses(
void (*pfn
)(const CRuntimeClass* pClass,
void* pContext
),
void* pContext
);
パラメータ
pfn
各クラスで実行する反復関数へのポインタ。関数の引数は、CRuntimeClass オブジェクトへのポインタと、呼び出し側が関数に渡す付加的なデータへの void 型のポインタです。pContext
呼び出し側が反復関数に引き渡せる省略可能なデータへのポインタ。このポインタは NULL でもかまいません。
解説
シリアル化可能な CObject 派生クラスは、DECLARE_SERIAL マクロで派生させたクラスです。pContext で AfxDoForAllClasses に渡されるポインタは、呼び出しのたびに指定された反復関数に渡されます。
メモ : |
---|
この関数は MFC ライブラリのデバッグ環境でしか動作しません。 |
使用例
#ifdef _DEBUG
void DoForAllClasses(const CRuntimeClass* pClass, void* pContext)
{
ASSERT(pContext != NULL);
CString *pStr = (CString *)pContext;
*pStr += pClass->m_lpszClassName;
*pStr += _T("\n");
}
#endif
#ifdef _DEBUG
CString cStr;
AfxDoForAllClasses(DoForAllClasses, &cStr);
AfxMessageBox(cStr);
#endif
必要条件
ヘッダー : afx.h