LABRADOR サンプル:ユーザー インターフェイスなしで、サーバーを実装します。
LABRADOR サンプルでは、ATL を使用してユーザー インターフェイスのない EXE サーバーを実装する方法を示します。 このサーバーでは、Labrador.idl で定義された 2 つのカスタム インターフェイスをサポートするオブジェクトを作成できます。
LABRADOR 属性サンプルは、このサンプルの属性付きバージョンです。
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
サンプルのビルドと実行
このサンプルは、3 つのコンポーネントを使用します。サーバー、マーシャリング DLL、およびドライバー。
コンポーネントをビルドして登録するには
ソリューション ファイル Labrador.sln を開きます。
From the Build menu, click Build Solution.
サーバー、マーシャリング DLL、およびドライバーがビルドされて登録されます。
ドライバーを実行するには
メニューの [デバッグ、 デバッグなしで開始] をクリックします。
ドライバーはオブジェクトを作成し、そのオブジェクトを数回呼び出した後で解放します。
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