共用方式為


管理 MFC 模組的 「 狀態 」 資料

這份文件討論 MFC 模組和 (path 程式碼會透過應用程式執行時) 的執行流程進入和離開模組時,如何更新這個狀態的 「 狀態 」 資料。 切換模組狀態與AFX_MANAGE_STATEMETHOD_PROLOGUE巨集討論了這個問題。

注意事項注意事項

詞彙 「 模組 」 下面參照的可執行的程式或 DLL (或 Dll 組),各自獨立運作的應用程式其餘部分,但使用的 MFC DLL 共用的複本。ActiveX 控制項是在模組的典型的範例。

下圖所示,MFC 會有每個模組在應用程式中使用 「 狀態 」 資料。 這類資料的範例包括 Windows 執行個體控制代碼 (用來載入資源),指向目前的CWinAppCWinThread物件的應用程式、 OLE 模組參考計數,以及各種不同的維護視窗物件控制代碼與對應的執行個體的 MFC 物件之間的連線的對應。 不過,當應用程式使用多個模組時,「 狀態 」 資料的每個模組不是應用程式寬。 相反地,每個模組都有它自己的 MFC 狀態資料的私用複本。

單一模組 (應用程式) 的狀態資料

單一模組應用程式狀態資料

模組的狀態資料包含在一個結構,永遠都可以透過該結構的指標。 當執行流程會進入特定的模組,如下圖所示時,該模組的狀態必須是 「 目前 」 或 「 有效 」 狀態。 因此,每個執行緒物件擁有該應用程式的有效狀態結構的指標。 保持在最新的 this 指標很重要管理應用程式的全域狀態,並維持其整體性的每個模組的狀態。 全域狀態若管理不正確,可能會造成無法預期的應用程式的行為。

多個模組的狀態資料

多個模組狀態資料

也就是說,每個模組負責正確地在所有的進入點的模組狀態之間切換。 「 進入點 」 是任何執行流程可在其中輸入模組的程式碼的地方。 進入點包括:

請參閱

概念

一般 MFC 主題