AfxOleLockApp

更新 : 2007 年 11 月

アプリケーション内のアクティブなオブジェクトの数を保持する、フレームワークのグローバル カウンタの値を増やします。

void AFXAPI AfxOleLockApp( );

解説

フレームワークはアプリケーションのアクティブなオブジェクトの数を保持しています。AfxOleLockApp 関数と AfxOleUnlockApp 関数はこの回数をそれぞれ増加、減少させます。

アプリケーションのアクティブなオブジェクト数が 0 以外のとき、ユーザーがアクティブなオブジェクトを持つアプリケーションを閉じようとすると、フレームワークはアプリケーションを完全にシャット ダウンする代わりにアプリケーションをユーザーのビューから非表示にします。AfxOleCanExitApp 関数はアプリケーションが終了できるかどうかを示します。

OLE インターフェイスを公開しているオブジェクトに関して、クライアント アプリケーションが使用しているあいだはそれを破棄しないようにするには、そのオブジェクトから AfxOleLockApp を呼び出します。また、コンストラクタで AfxOleLockApp を呼び出している任意のオブジェクトのデストラクタで AfxOleUnlockApp を呼び出します。既定では、COleDocument (およびその派生クラス) では自動的にアプリケーションをロック、アンロックしています。

使用例

// Below is a code sample from an  Application Wizard-generated SDI 
// Application with Automation support. The Application Wizard adds a 
// dispatch interface to the document class. AfxOleLockApp() and
// AfxOleUnlockApp() respectively increment and decrement the 
// application's object count. When the object count is equal to 
// zero and if the user has not taken control of the application,
// the server is terminated.

CCMFCAutomationDoc::CCMFCAutomationDoc()
{
    EnableAutomation();
    AfxOleLockApp();
}

CCMFCAutomationDoc::~CCMFCAutomationDoc()
{
    AfxOleUnlockApp();
}

必要条件

ヘッダー : <afxdisp.h>

参照

概念

MFC マクロとグローバル

参照

AfxOleUnlockApp

AfxOleCanExitApp

COleDocument クラス