home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / shldisp.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  2KB  |  62 lines

  1. #ifndef _SHLDISP_H
  2. #define _SHLDISP_H
  3. #if __GNUC__ >= 3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #define ACO_AUTOSUGGEST 0x01
  12.  
  13. #undef INTERFACE
  14. #define INTERFACE IAutoComplete
  15. DECLARE_INTERFACE_(IAutoComplete, IUnknown)
  16. {
  17.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  18.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  19.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  20.     STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
  21.     STDMETHOD(Enable)(THIS_ BOOL) PURE;
  22. };
  23. typedef IAutoComplete *LPAUTOCOMPLETE;
  24.  
  25. #ifdef COBJMACROS
  26. #define IAutoComplete_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
  27. #define IAutoComplete_AddRef(T) (T)->lpVtbl->AddRef(T)
  28. #define IAutoComplete_Release(T) (T)->lpVtbl->Release(T)
  29. #define IAutoComplete_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
  30. #define IAutoComplete_Enable(T,a) (T)->lpVtbl->Enable(T,a)
  31. #endif
  32.  
  33. #undef INTERFACE
  34. #define INTERFACE IAutoComplete2
  35. DECLARE_INTERFACE_(IAutoComplete2, IAutoComplete)
  36. {
  37.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  38.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  39.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  40.     STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
  41.     STDMETHOD(Enable)(THIS_ BOOL) PURE;
  42.     STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
  43.     STDMETHOD(GetOptions)(THIS_ DWORD*) PURE;
  44. };
  45. typedef IAutoComplete2 *LPAUTOCOMPLETE2;
  46.  
  47. #ifdef COBJMACROS
  48. #define IAutoComplete2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
  49. #define IAutoComplete2_AddRef(T) (T)->lpVtbl->AddRef(T)
  50. #define IAutoComplete2_Release(T) (T)->lpVtbl->Release(T)
  51. #define IAutoComplete2_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
  52. #define IAutoComplete2_Enable(T,a) (T)->lpVtbl->Enable(T,a)
  53. #define IAutoComplete2_SetOptions(T,a) (T)->lpVtbl->Enable(T,a)
  54. #define IAutoComplete2_GetOptions(T,a) (T)->lpVtbl->Enable(T,a)
  55. #endif
  56.  
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60.  
  61. #endif /* _SHLDISP_H */
  62.