クラスのビルド
エラー処理を追加した、
ビルド可能なコードとビルドの手順を
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の登録