次の方法で共有


OLE の初期化

アプリケーションは、OLE システム サービスを使用する前に、OLE システム DLL を初期化し、DLL が正しいバージョンであることを確認する必要があります。 AfxOleInit関数は、OLE システム DLL を初期化します。

OLE の初期化

名前 説明
AfxOleInit OLE ライブラリを初期化します。
AfxEnableControlContainer OLE コントロールの包含のサポートを有効にするには、アプリケーション オブジェクトの InitInstance 関数でこの関数を呼び出します。

AfxEnableControlContainer

OLE コントロールの包含のサポートを有効にするには、アプリケーション オブジェクトの InitInstance 関数でこの関数を呼び出します。

構文

void AfxEnableControlContainer( );

解説

OLE コントロール (現在は ActiveX コントロール) の詳細については、「 ActiveX コントロールトピックを参照してください。

要件

ヘッダー : afxdisp.h

AfxOleInit

アプリケーションの OLE サポートを初期化します。

BOOL AFXAPI AfxOleInit();

戻り値

成功した場合は 0 以外の値です。初期化に失敗した場合は 0 です。失敗の原因は多くの場合、正しくないバージョンの OLE システム DLL がインストールされていることです。

解説

MFC アプリケーションに対する OLE サポートを初期化するには、この関数を呼び出します。 この関数を呼び出すと、次のアクションが発生します。

  • 呼び出し元のアプリケーションの現在のアパートメントで COM ライブラリを初期化します。 詳細については、「 OleInitializeを参照してください。

  • IMessageFilter インターフェイスを実装するメッセージ フィルター オブジェクトを作成します。 このメッセージ フィルターには、 AfxOleGetMessageFilter の呼び出しでアクセスできます。

Note

MFC DLL から AfxOleInit が呼び出されると、呼び出しは失敗します。 この関数は DLL から呼び出された場合、呼び出し元アプリケーションによって OLE システムが既に初期化されていることを想定するため、失敗が生じます。

Note

MFC アプリケーションは、シングルスレッド アパートメント (STA) として初期化する必要があります。 ご自身の InitInstance オーバーライド内で CoInitializeEx を呼び出す場合は、(COINIT_MULTITHREADED ではなく) COINIT_APARTMENTTHREADED を指定してください。

要件

ヘッダー : afxdisp.h

関連項目

マクロとグローバル