List 2-20 COMオブジェクトを生成してメソッドを呼び出す
1: void main(int argc, char* argv[])
2: {
3: HRESULT hr; // メソッドの実行結果を保持する
4: BOOL bResult; // 英和辞書の検索結果を保持する
5:
6: IUnknown* pIUnknown; // IUnknownインタフェースへのポインタ
7: IClassFactory* pIClassFactory; // IClassFactoryインタフェースへのポインタ
8: IDictionary* pIDictionary; // IDictionaryインタフェースへのポインタ
9:
10: char lpszEword[] = "pencil"; // 検索する英単語
11: char lpszJword[10]; // 和単語
12:
13: // IClassFactoryインタフェースへのポインタを取得する
14: GetClassObject(IID_IDictionary,IID_IClassFactory,(void**)&pIClassFactory);
15:
16: // IUnknownインタフェースへのポインタを取得する
17: hr = pIClassFactory->CreateInstance(NULL,IID_IUnknown,(void**)&pIUnknown);
18:
19: // IDictionaryインタフェースへのポインタをを取得する
20: hr = pIUnknown->QueryInterface(IID_IDictionary,(void**)&pIDictionary);
21:
22: // LookupWordメソッドを呼び出す
23: pIDictionary->LookupWord(lpszEword,lpszJword,&bResult);
24: if( bResult == FOUND )
25: printf("%s は %s です。\n",lpszEword,lpszJword);
26: else
27: printf("%s は見つかりません。\n",lpszEword);
28:
29: // IDictionaryインタフェースを解放する
30: pIDictionary->Release();
31:
32: // IUnknownインタフェースを解放する
33: pIUnknown->Release();
34:
35: // IClassFactoryインタフェースを解放する
36: pIClassFactory->Release();
37: }