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: };