ゼロからのCOM - DLLサーバの動作確認

いちごパック > COM/ActiveXの解説 > ゼロからのCOM - DLLサーバの動作確認
COMサーバの作成が完了したら、COMサーバを呼び出すCOMクライアントを作成してDLLサーバの動作を確認します。 はじめに、クライアント側にCLSIDを教えます。
// {227A0711-D089-42AA-8428-52DD48A14139}
const CLSID CLSID_Ichigo1 =
{ 0x227a0711, 0xd089, 0x42aa, { 0x84, 0x28, 0x52, 0xdd, 0x48, 0xa1, 0x41, 0x39 } };
ここでは定数を用いましたが、DEFINE_GUID等を用いてもかまいません。 あとは、COMを初期化してcoclassを作成し、メソッドを呼び出すだけです。 CIchigo1の場合であれば次のようになります。
    ISequentialStream* pObj = NULL;
    hr = CoCreateInstance(
             CLSID_Ichigo1, NULL,
             CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER |
             CLSCTX_LOCAL_SERVER,
             IID_ISequentialStream, (LPVOID*)&pObj);
    if ( SUCCEEDED(hr) ) {
        std::string str = "ichigopack COM sample 1\n";
        ULONG   cbWritten = 0;
        pObj->Write( str.c_str(), str.length(), &cbWritten );
        pObj->Release();
    }
作成したクライアントをビルド、実行することで、c:\tmp\ichigo1.txtに次のテキストが書き出されます。 なお、予めc:\tmpというフォルダを作成しておいてください。
ichigopack COM sample 1

関連ページ

  • COM/ActiveXの解説ページ 目次
  • 前の項目: DLLサーバのビルド