diff --git a/include/intshcut.h b/include/intshcut.h index 54c2f2d1c1..71c75143b9 100644 --- a/include/intshcut.h +++ b/include/intshcut.h @@ -19,7 +19,7 @@ #ifndef __WINE_INTSHCUT_H #define __WINE_INTSHCUT_H -/* FIXME: #include */ +#include #define INTSHCUTAPI @@ -27,6 +27,74 @@ extern "C" { #endif +#define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000) +#define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002) +#define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001) +#define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002) + +typedef enum iurl_seturl_flags { + IURL_SETURL_FL_GUESS_PROTOCOL=1, + IURL_SETURL_FL_USE_DEFAULT_PROTOCOL, + ALL_IURL_SETURL_FLAGS=(IURL_SETURL_FL_GUESS_PROTOCOL|IURL_SETURL_FL_USE_DEFAULT_PROTOCOL) +} IURL_SETURL_FLAGS; + +typedef enum iurl_invokecommand_flags { + IURL_INVOKECOMMAND_FL_ALLOW_UI=1, + IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB, + ALL_IURL_INVOKECOMMAND_FLAGS=(IURL_INVOKECOMMAND_FL_ALLOW_UI|IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB) +} IURL_INVOKECOMMAND_FLAGS; + +typedef struct urlinvokecommandinfoA { + DWORD dwcbSize; + DWORD dwFlags; + HWND hwndParent; + LPCSTR pcszVerb; +} URLINVOKECOMMANDINFOA, *PURLINVOKECOMMANDINFOA; +typedef const URLINVOKECOMMANDINFOA CURLINVOKECOMMANDINFOA; +typedef const URLINVOKECOMMANDINFOA *PCURLINVOKECOMMANDINFOA; + +typedef struct urlinvokecommandinfoW { + DWORD dwcbSize; + DWORD dwFlags; + HWND hwndParent; + LPCWSTR pcszVerb; +} URLINVOKECOMMANDINFOW, *PURLINVOKECOMMANDINFOW; +typedef const URLINVOKECOMMANDINFOW CURLINVOKECOMMANDINFOW; +typedef const URLINVOKECOMMANDINFOW *PCURLINVOKECOMMANDINFOW; + +#define INTERFACE IUniformResourceLocatorA +DECLARE_INTERFACE_(IUniformResourceLocatorA,IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, VOID **ppvObject) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + /*** IUniformResourceLocatorA methods ***/ + STDMETHOD(SetURL)(THIS_ LPCSTR pcszURL, DWORD dwInFlags) PURE; + STDMETHOD(GetURL)(THIS_ LPSTR *ppszURL) PURE; + STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFOA pURLCommandInfo) PURE; +}; +#undef INTERFACE + +#define INTERFACE IUniformResourceLocatorW +DECLARE_INTERFACE_(IUniformResourceLocatorW,IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, VOID **ppvObject) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + /*** IUniformResourceLocatorW methods ***/ + STDMETHOD(SetURL)(THIS_ LPCWSTR pcszURL, DWORD dwInFlags) PURE; + STDMETHOD(GetURL)(THIS_ LPWSTR *ppszURL) PURE; + STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFOW pURLCommandInfo) PURE; +}; +#undef INTERFACE + +DECL_WINELIB_TYPE_AW(URLINVOKECOMMANDINFO) +DECL_WINELIB_TYPE_AW(PURLINVOKECOMMANDINFO) +DECL_WINELIB_TYPE_AW(CURLINVOKECOMMANDINFO) +DECL_WINELIB_TYPE_AW(PCURLINVOKECOMMANDINFO) + BOOL WINAPI InetIsOffline(DWORD); #ifdef __cplusplus