EXEサーバ - クラスのビルドと動作確認

いちごパック > COM/ActiveXの解説 > EXEサーバ - クラスのビルドと動作確認

クラスのビルド

エラー処理を追加した、 ビルド可能なコードとビルドの手順をEXEサーバ - サンプルCOMサーバにおきましたので、 こちらをご覧ください。

動作確認

クライアント側のコードはDLLサーバの動作確認とほぼ同じです。 coclassを識別するCLSIDとして別のIDを使っていますので、そのIDを与えます。
// {425C76F4-E126-456C-837D-1EE96DB89126}
static const GUID CLSID_Ichigo2 =
{ 0x425c76f4, 0xe126, 0x456c, { 0x83, 0x7d, 0x1e, 0xe9, 0x6d, 0xb8, 0x91, 0x26 } };
COMを初期化してcoclassを作成し、メソッドを呼び出します。 呼び出し部分のコードは次のようになります。
    ISequentialStream* pObj = NULL;
    hr = CoCreateInstance(
             CLSID_Ichigo2, NULL,
             CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER |
             CLSCTX_LOCAL_SERVER,
             IID_ISequentialStream, (LPVOID*)&pObj);
    if ( SUCCEEDED(hr) ) {
        std::string str = "ichigopack COM sample 2\n";
        ULONG   cbWritten = 0;
        pObj->Write( str.c_str(), str.length(), &cbWritten );
        pObj->Release();
    }

関連ページ

  • COM/ActiveXの解説ページ 目次
  • 前の項目: class objectの登録