1
0

ifc_ombrowserwndmngr.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef NULLSOFT_WINAMP_OMBROWSER_WINDOW_MANAGER_INTERFACE_HEADER
  2. #define NULLSOFT_WINAMP_OMBROWSER_WINDOW_MANAGER_INTERFACE_HEADER
  3. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  4. #pragma once
  5. #endif
  6. // {81E8333B-388F-444e-8233-138E15ACC761}
  7. static const GUID IFC_OmBrowserWindowManager =
  8. { 0x81e8333b, 0x388f, 0x444e, { 0x82, 0x33, 0x13, 0x8e, 0x15, 0xac, 0xc7, 0x61 } };
  9. #include <bfc/dispatch.h>
  10. class ifc_ombrowserwndenum;
  11. class __declspec(novtable) ifc_ombrowserwndmngr : public Dispatchable
  12. {
  13. protected:
  14. ifc_ombrowserwndmngr() {}
  15. ~ifc_ombrowserwndmngr() {}
  16. public:
  17. HRESULT RegisterWindow(HWND hwnd, const GUID *windowType);
  18. HRESULT UnregisterWindow(HWND hwnd);
  19. HRESULT Enumerate(const GUID *windowType, unsigned int *serviceIdFilter, ifc_ombrowserwndenum **enumerator); // serviceIdFilter can be NULL if you want to get all windows
  20. public:
  21. DISPATCH_CODES
  22. {
  23. API_REGISTERWINDOW = 10,
  24. API_UNREGISTERWINDOW = 20,
  25. API_ENUMERATE = 30,
  26. };
  27. };
  28. inline HRESULT ifc_ombrowserwndmngr::RegisterWindow(HWND hwnd, const GUID *windowType)
  29. {
  30. return _call(API_REGISTERWINDOW, (HRESULT)E_NOTIMPL, hwnd, windowType);
  31. }
  32. inline HRESULT ifc_ombrowserwndmngr::UnregisterWindow(HWND hwnd)
  33. {
  34. return _call(API_UNREGISTERWINDOW, (HRESULT)E_NOTIMPL, hwnd);
  35. }
  36. inline HRESULT ifc_ombrowserwndmngr::Enumerate(const GUID *windowType, unsigned int *serviceIdFilter, ifc_ombrowserwndenum **enumerator)
  37. {
  38. return _call(API_ENUMERATE, (HRESULT)E_NOTIMPL, windowType, serviceIdFilter, enumerator);
  39. }
  40. #endif // NULLSOFT_WINAMP_OMBROWSER_WINDOW_MANAGER_INTERFACE_HEADER