COMMAP 属性サンプル:COM インターフェイス マップ エントリ マクロを説明します。
COMMAP 属性サンプルでは、さまざまな COM インターフェイス マップ エントリ マクロの使用例を示します。
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
サンプルのビルドと実行
このサンプルをビルドして実行するには
ソリューション ファイル COMMap.sln を開きます。
From the Build menu, clickBuild Solution.
サンプルをビルドしたら、Web ブラウザーで commap.htm を開きます。 commap.htm には、それぞれの型のマップ エントリに関するコメントが記述されています。
属性
このサンプルでは次の属性を使用します。
COMMap coclass, com_interface_entry, default, dual, emitidl, helpstring, id, implements_category, in, module, object, out, pointer_default, progid, propget, retval, threading, uuid, version, vi_progid
COMMap/Aggreg coclass, default, dual, emitidl, helpstring, id, module, object, out, pointer_default, progid, propget, retval, support_error_info, threading, uuid, version, vi_progid
Keywords
このサンプルでは、次のキーワードを使用します。
BEGIN_COM_MAP ; CComCoClass; CComModule::GetClassObject; CComModule::GetLockCount; CComModule::Init; CComModule::RegisterServer; CComModule::Term; CComModule::UnregisterServer; CComObjectRoot; CComTearOffObjectBase; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_AGGREGATE; COM_INTERFACE_ENTRY_AGGREGATE_BLIND; COM_INTERFACE_ENTRY_AUTOAGGREGATE; COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND; COM_INTERFACE_ENTRY_CACHED_TEAR_OFF; COM_INTERFACE_ENTRY_TEAR_OFF; DECLARE_GET_CONTROLLING_UNKNOWN; DECLARE_REGISTRY_RESOURCEID; DisableThreadLibraryCalls; END_COM_MAP; IDispatchImpl; ISupportErrorInfo; SysAllocString
注意
このサンプルを含む一部のサンプルには、Visual C++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。