次の方法で共有


AfxOleLockApp

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

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>

参照

参照

AfxOleUnlockApp

AfxOleCanExitApp

COleDocument クラス

概念

MFC マクロとグローバル