12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef NULLSOFT_WINAMP_ML_NAVIGATION_HELPER_INTERFACE_HEADER
- #define NULLSOFT_WINAMP_ML_NAVIGATION_HELPER_INTERFACE_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #include <bfc/dispatch.h>
- // {816290AB-A249-4b64-A192-C643D0AD68CA}
- static const GUID IFC_MlNavigationHelper =
- { 0x816290ab, 0xa249, 0x4b64, { 0xa1, 0x92, 0xc6, 0x43, 0xd0, 0xad, 0x68, 0xca } };
- class ifc_mlnavigationcallback;
- class __declspec(novtable) ifc_mlnavigationhelper : public Dispatchable
- {
- protected:
- ifc_mlnavigationhelper() {}
- ~ifc_mlnavigationhelper() {}
- public:
- HRESULT GetDefaultIndex(int *index);
- HRESULT QueryIndex(const wchar_t *name, int *index, BOOL *defaultUsed);
- HRESULT ReleaseIndex(const wchar_t *name);
-
- HRESULT RegisterAlias(const wchar_t *name, const wchar_t *address);
-
- HRESULT RegisterCallback(ifc_mlnavigationcallback *callback, unsigned int *cookie);
- HRESULT UnregisterCallback(unsigned int cookie);
-
- public:
- DISPATCH_CODES
- {
- API_GETDEFAULTINDEX = 10,
- API_QUERYINDEX = 20,
- API_RELEASEINDEX = 30,
- API_REGISTERALIAS = 40,
- API_REGISTERCALLBACK = 50,
- API_UNREGISTERCALLBACK = 60,
- };
- };
- inline HRESULT ifc_mlnavigationhelper::GetDefaultIndex(int *index)
- {
- return _call(API_GETDEFAULTINDEX, (HRESULT)E_NOTIMPL, index);
- }
- inline HRESULT ifc_mlnavigationhelper::QueryIndex(const wchar_t *name, int *index, BOOL *defaultUsed)
- {
- return _call(API_QUERYINDEX, (HRESULT)E_NOTIMPL, name, index, defaultUsed);
- }
- inline HRESULT ifc_mlnavigationhelper::ReleaseIndex(const wchar_t *name)
- {
- return _call(API_RELEASEINDEX, (HRESULT)E_NOTIMPL, name);
- }
- inline HRESULT ifc_mlnavigationhelper::RegisterAlias(const wchar_t *name, const wchar_t *address)
- {
- return _call(API_REGISTERALIAS, (HRESULT)E_NOTIMPL, name, address);
- }
- inline HRESULT ifc_mlnavigationhelper::RegisterCallback(ifc_mlnavigationcallback *callback, UINT *cookie)
- {
- return _call(API_REGISTERCALLBACK, (HRESULT)API_REGISTERCALLBACK, callback, cookie);
- }
- inline HRESULT ifc_mlnavigationhelper::UnregisterCallback(UINT cookie)
- {
- return _call(API_UNREGISTERCALLBACK, (HRESULT)E_NOTIMPL, cookie);
- }
- #endif //NULLSOFT_WINAMP_ML_NAVIGATION_HELPER_INTERFACE_HEADER
|