次の方法で共有


LABRADOR 属性サンプル:ユーザー インターフェイスなしで、サーバーを実装します。

LABRADOR 属性サンプルでは、ATL を使用してユーザー インターフェイスのない EXE サーバーを実装する方法を示します。 このサーバーでは、Labrador.idl で定義された 2 つのカスタム インターフェイスをサポートするオブジェクトを作成できます。

セキュリティに関するメモセキュリティに関するメモ

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

サンプルとそのインストール手順を取得するには

Visual Studio のサンプルにアクセスするには

  • [ヘルプ] メニューの [サンプル] をクリックします。

    既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。

  • このサンプルの最新版および他のサンプルの一覧については、MSDN Web サイト上で Visual Studio サンプル 」を参照してください。

サンプルのビルドと実行

このサンプルは、3 つのコンポーネントを使用します。サーバー、マーシャリング DLL、およびドライバー。

コンポーネントをビルドして登録するには

  1. ソリューション ファイル Labrador.sln を開きます。

  2. From the Build menu, click Build Solution.

    サーバー、マーシャリング DLL、およびドライバーがビルドされて登録されます。

ドライバーを実行するには

  1. ソリューション エクスプローラーで、labdriv プロジェクトを右クリックし、[スタートアップ プロジェクトに設定] をクリックします。

  2. メニューの [デバッグ、 デバッグなしで開始] をクリックします。

    ドライバーはオブジェクトを作成し、そのオブジェクトを数回呼び出した後で解放します。

属性

このサンプルでは次の属性を使用します。

aggregatable, coclass, default, emitidl, helpstring, in, module, object, out, progid, string, threading, uuid, version, vi_progid

Keywords

このサンプルでは、次のキーワードを使用します。

_CrtDumpMemoryLeaks;_tcsicmp;_tcstok;_tprintf;_vstprintf;ATLASSERT;BEGIN_COM_MAP;BEGIN_OBJECT_MAP;CComObjectRoot;CoCreateInstance;COM_INTERFACE_ENTRY;CoUninitialize;DECLARE_NOT_AGGREGATABLE;DECLARE_REGISTRY;DispatchMessage;END_OBJECT_MAP;GetCurrentThreadId;GetMessage;OBJECT_ENTRY;OutputDebugString;PostThreadMessage;Trace;va_end;va_list;va_start;wcscpy_s

注意

このサンプルを含む一部のサンプルには、Visual C++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。

参照

その他の技術情報

ATL 属性のサンプル