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>