次の方法で共有


AfxDoForAllClasses

アプリケーションのメモリ空間内のすべてのシリアル化可能な 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

参照

参照

DECLARE_SERIAL

概念

MFC マクロとグローバル