List 2-6 IUnknownインタフェースを継承したIDictionaryインタフェース
1: // IUnknownインタフェースの定義
2: class IUnknown
3: {
4: public:
5: virtual HRESULT __stdcall QueryInterface(REFIID riid, void** ppvObj) = 0;
6: virtual ULONG __stdcall AddRef() = 0;
7: virtual ULONG __stdcall Release() = 0;
8: };
9:
10: // GUIDGEN.EXEを使ってIDictionaryインタフェース用のIIDを生成する
11: // IID_IDictionary {48CAC0E1-58D2-11d3-B169-000021C38DD8}
12: static const IID IID_IDictionary =
13: { 0x48cac0e1, 0x58d2, 0x11d3, { 0xb1, 0x69, 0x0, 0x0, 0x21, 0xc3, 0x8d, 0xd8 } };
14:
15: GUIDGEN.EXEを使ってCDictionary用のCLSIDを生成する
16: // CLSID_CDictionary {48CAC0E1-58D2-11d3-B169-000021C38DD8}
17: static const CLSID CLSID_CDictionary =
18: { 0x48cac0e1, 0x58d2, 0x11d3, { 0xb1, 0x69, 0x0, 0x0, 0x21, 0xc3, 0x8d, 0xd9 } };
19:
20: // IDictionaryインタフェースの定義
21: class IDictionary : public IUnknown
22: {
23: public:
24: virtual HRESULT __stdcall LookupWord(char* lpszEword, char* lpszJword, BOOL* pbResult)
25: = 0;
26: };