次の方法で共有


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

参照

関連項目

AfxGetStaticModuleState

概念

MFC マクロとグローバル