ifc_omcachegroup.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef NULLSOFT_WINAMP_OMCACHE_GROUP_INTERFACE_HEADER
  2. #define NULLSOFT_WINAMP_OMCACHE_GROUP_INTERFACE_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. #include <bfc/dispatch.h>
  7. // {3249BCBE-A169-4051-8C36-2E355E63C27B}
  8. static const GUID IFC_OmCacheGroup =
  9. { 0x3249bcbe, 0xa169, 0x4051, { 0x8c, 0x36, 0x2e, 0x35, 0x5e, 0x63, 0xc2, 0x7b } };
  10. class ifc_omcacherecord;
  11. class __declspec(novtable) ifc_omcachegroup: public Dispatchable
  12. {
  13. protected:
  14. ifc_omcachegroup() {}
  15. ~ifc_omcachegroup() {}
  16. public:
  17. HRESULT GetName(wchar_t *buffer, unsigned int bufferMax);
  18. HRESULT Find(const wchar_t *name, BOOL registerMissing, ifc_omcacherecord **recordOut, BOOL *created);
  19. HRESULT Delete(const wchar_t *name);
  20. HRESULT Clear();
  21. public:
  22. DISPATCH_CODES
  23. {
  24. API_GETNAME = 10,
  25. API_FIND = 20,
  26. API_DELETE = 30,
  27. API_CLEAR = 40,
  28. };
  29. };
  30. inline HRESULT ifc_omcachegroup::GetName(wchar_t *buffer, unsigned int bufferMax)
  31. {
  32. return _call(API_GETNAME, (HRESULT)E_NOTIMPL, buffer, bufferMax);
  33. }
  34. inline HRESULT ifc_omcachegroup::Find(const wchar_t *name, BOOL registerMissing, ifc_omcacherecord **recordOut, BOOL *created)
  35. {
  36. return _call(API_FIND, (HRESULT)E_NOTIMPL, name, registerMissing, recordOut, created);
  37. }
  38. inline HRESULT ifc_omcachegroup::Delete(const wchar_t *name)
  39. {
  40. return _call(API_DELETE, (HRESULT)E_NOTIMPL, name);
  41. }
  42. inline HRESULT ifc_omcachegroup::Clear()
  43. {
  44. return _call(API_CLEAR, (HRESULT)E_NOTIMPL);
  45. }
  46. #endif //NULLSOFT_WINAMP_OMCACHE_GROUP_INTERFACE_HEADER