MFC モジュールの状態データの管理
この技術情報は実行時に実行のフローが (パス コードは、アプリケーションで受け取ります)モジュールを入力し、出るとき、この状態を更新する方法を MFC のモジュール状態データについて説明します。AFX_MANAGE_STATE と METHOD_PROLOGUE のマクロのモジュール状態を切り替えることも説明します。
[!メモ]
用語 「モジュール」は DLL (または DLL の設定)に次に、プログラム、または他のアプリケーションとは関係なく動作するのか、 MFC の共有 DLL のコピーを使用します。ActiveX コントロールは、モジュールの典型的な例です。
次の図に示すように、 MFC にアプリケーションで使用される各モジュールの状態データがあります。このデータの例は、アプリケーションの CWinThread の現在の CWinApp およびオブジェクトにウィンドウのインスタンス ハンドル (リソースを読み込むために使用される)、ポインター、 OLE モジュールの参照カウントを、 MFC のオブジェクト ペイン オブジェクト ハンドルと対応するインスタンスとの関連付けを維持するさまざまなマップが含まれます。ただし、アプリケーションが複数のモジュールを使用すると、各モジュール状態データは、アプリケーションではありません。なく、各モジュールは、 MFC の状態データの独自のプライベート コピーがあります。
単一モジュール (アプリケーション) の状態データ
モジュール状態データは構造体に常に含まれる、構造体へのポインターで使用できます。実行のフローがモジュールである状態が 「現在」または 「的な」状態必要がある次の図に示すように、特定のモジュールを入力したりします。したがって、各スレッド オブジェクトには、そのアプリケーションの有効な状態の構造体へのポインターがあります。このポインターを常に更新しておくと、アプリケーションのグローバル状態を管理し、各モジュールの状態の一貫性を維持するために重要です。グローバル状態の不適切な管理、予測不可能なアプリケーションの動作が発生する可能性があります。
複数モジュールの状態データ
つまり、各モジュールが、エントリ ポイントのモジュール状態を正しくの間の切り替えを行います。「エントリ ポイント」は実行のフローがモジュールのコードを入力できる場所です。エントリ ポイントは次のとおりです。: