次の方法で共有


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 マクロとグローバル