AFX_MANAGE_STATE
DLL のエクスポート関数を保護するには、このマクロを呼び出します。
AFX_MANAGE_STATE(AFX_MODULE_STATE* pModuleState )
パラメーター
- pModuleState
AFX_MODULE_STATE の構造体へのポインター。
解説
このマクロが呼び出されると、 pModuleState は、直接のコンテナー スコープの剰余のようなモジュール状態です。スコープを離れた上で、前のようなモジュール状態が自動的に復元されます。
AFX_MODULE_STATE の構造体、モジュール、押された状態またはポップ モジュール状態のつまり、部分のグローバル データが含まれます。
既定では、 MFC はリソース テンプレートを読み込むメイン アプリケーションのリソース ハンドルを使用します。DLL にエクスポート関数がある場合、 DLL のダイアログ ボックスを表示し、 1 などの、このテンプレートは、 DLL のモジュールに実際に格納されます。使用する正しいハンドルのモジュール状態を切り替える必要があります。関数の開始に次のコードを追加して、これを行うことができます:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
これは、現在のスコープを閉じるまでの AfxGetStaticModuleState から返される状態を持つ現在のモジュール状態を交換します。
モジュール状態と MFC の詳細については、 「 新しいドキュメント、ウィンドウとビューの作成 と テクニカル ノート 58の MFC のモジュール状態データを管理する」 " を参照してください。
[!メモ]
MFC はアセンブリのアクティベーション コンテキストを作成するときは、をアクティブにし、アクティブ化は、コンテキストおよび AFX_MANAGE_STATE を作成するに AfxWinInit を使用します。AFX_MANAGE_STATE が静的な MFC ライブラリに対して有効である、または MFC DLL、または注意してください。に MFC コードがユーザーの DLL によって選択された適切なアクティベーション コンテキストで実行します。詳細については、「MFC モジュール状態でのアクティベーション コンテキストのサポート」を参照してください。
必要条件
ヘッダー: afxstat_.h