次の方法で共有


CComObjectRootEx::ObjectMain

更新 : 2007 年 11 月

この関数は、オブジェクト マップにリストされている各クラスに対して、モジュールの初期化時と終了時に呼び出されます。

static void WINAPI ObjectMain(
   bool bStarting 
);

パラメータ

  • bStarting
    [出力] クラスが初期化中の場合は true。それ以外の場合は false

解説

bStarting パラメータの値は、モジュールが初期化中か、または終了中かを示します。ObjectMain の既定の実装では何も実行されませんが、作成したクラスでこの関数をオーバーライドして、クラスに割り当てるリソースを初期化またはクリーンアップできます。ObjectMain は、クラスのインスタンスが要求される前に呼び出されます。

ObjectMain は DLL のエントリ ポイントから呼び出されるので、エントリ ポイント関数が実行できる操作の種類が制限されます。これらの制限の詳細については、「ランタイム ライブラリの動作」および「DllMain」を参照してください。

使用例

class ATL_NO_VTABLE CMyApp :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CMyApp, &CLSID_MyApp>,
   public IMyApp
{
public:
   CMyApp()
   {
   }

   static void WINAPI ObjectMain(bool bStarting)
   {
      if (bStarting)
         ;// Perform custom initialization routines
      else
         ;// Perform custom termination routines
   }

   // Remainder of class declaration omitted.

必要条件

ヘッダー : atlcom.h

参照

参照

CComObjectRootEx クラス

その他の技術情報

CComObjectRootEx のメンバ