[PSDK]
[reactos.git] / reactos / include / psdk / urlmon.idl
index d16a3b5..d2a46a0 100644 (file)
@@ -24,6 +24,7 @@ import "msxml.idl";
 
 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
 cpp_quote("#undef GetUserName")
+cpp_quote("#undef SetPort")
 cpp_quote("#endif")
 
 interface IInternetProtocolSink;
@@ -1230,6 +1231,7 @@ interface IInternetZoneManager : IUnknown
 
     typedef enum tagURLZONE
     {
+        URLZONE_INVALID         = -1,
         URLZONE_PREDEFINED_MIN  = 0,
         URLZONE_LOCAL_MACHINE   = 0,
         URLZONE_INTRANET        = 1,
@@ -1562,6 +1564,15 @@ interface IUri : IUnknown
         Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE
     } Uri_PROPERTY;
 
+    typedef enum
+    {
+        Uri_HOST_UNKNOWN = 0,
+        Uri_HOST_DNS = 1,
+        Uri_HOST_IPV4 = 2,
+        Uri_HOST_IPV6 = 3,
+        Uri_HOST_IDN = 4
+    } Uri_HOST_TYPE;
+
     HRESULT GetPropertyBSTR(
         [in]  Uri_PROPERTY uriProp,
         [out] BSTR *pbstrProperty,
@@ -1716,6 +1727,129 @@ interface IUriContainer : IUnknown
     HRESULT GetIUri([out] IUri **ppIUri);
 }
 
+/*****************************************************************************
+ * IUriBuilder interface
+ */
+[
+    local,
+    object,
+    uuid(4221b2e1-8955-46c0-bd5b-de9897565de7),
+    pointer_default(unique)
+]
+interface IUriBuilder: IUnknown
+{
+    HRESULT CreateUriSimple(
+        [in]  DWORD       dwAllowEncodingPropertyMask,
+        [in]  DWORD_PTR   dwReserved,
+        [out] IUri      **ppIUri);
+
+    HRESULT CreateUri(
+        [in]  DWORD       dwCreateFlags,
+        [in]  DWORD       dwAllowEncodingPropertyMask,
+        [in]  DWORD_PTR   dwReserved,
+        [out] IUri      **ppIUri);
+
+    HRESULT CreateUriWithFlags(
+        [in]  DWORD       dwCreateFlags,
+        [in]  DWORD       dwUriBuilderFlags,
+        [in]  DWORD       dwAllowEncodingPropertyMask,
+        [in]  DWORD_PTR   dwReserved,
+        [out] IUri      **ppIUri);
+
+    HRESULT GetIUri(
+        [out] IUri **ppIUri);
+
+    HRESULT SetIUri(
+        [in, unique] IUri *pIUri);
+
+    HRESULT GetFragment(
+        [out] DWORD   *pcchFragment,
+        [out] LPCWSTR *ppwzFragment);
+
+    HRESULT GetHost(
+        [out] DWORD   *pcchHost,
+        [out] LPCWSTR *ppwzHost);
+
+    HRESULT GetPassword(
+        [out] DWORD   *pcchPassword,
+        [out] LPCWSTR *ppwzPassword);
+
+    HRESULT GetPath(
+        [out] DWORD   *pcchPath,
+        [out] LPCWSTR *ppwzPath);
+
+    HRESULT GetPort(
+        [out] BOOL  *pfHasPort,
+        [out] DWORD *pdwPort);
+
+    HRESULT GetQuery(
+        [out] DWORD   *pcchQuery,
+        [out] LPCWSTR *ppwzQuery);
+
+    HRESULT GetSchemeName(
+        [out] DWORD   *pcchSchemeName,
+        [out] LPCWSTR *ppwzSchemeName);
+
+    HRESULT GetUserName(
+        [out] DWORD   *pcchUserName,
+        [out] LPCWSTR *ppwzUserName);
+
+    HRESULT SetFragment(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT SetHost(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT SetPassword(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT SetPath(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT SetPort(
+        [in] BOOL  fHasPort,
+        [in] DWORD dwNewValue);
+
+    HRESULT SetQuery(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT SetSchemeName(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT SetUserName(
+        [in] LPCWSTR pwzNewValue);
+
+    HRESULT RemoveProperties(
+        [in] DWORD dwPropertyMask);
+
+    HRESULT HasBeenModified(
+        [out] BOOL *pfModified);
+};
+
+cpp_quote("HRESULT WINAPI CreateIUriBuilder(IUri*,DWORD,DWORD_PTR,IUriBuilder**);")
+
+/*****************************************************************************
+ * IUriBuilderFactory interface
+ */
+[
+    local,
+    object,
+    uuid(e982ce48-0b96-440c-bc37-0c869b27a29e),
+    pointer_default(unique)
+]
+interface IUriBuilderFactory : IUnknown
+{
+    HRESULT CreateInitializedIUriBuilder(
+        [in]  DWORD dwFlags,
+        [in]  DWORD_PTR dwReserved,
+        [out] IUriBuilder **ppIUriBuilder);
+
+    HRESULT CreateIUriBuilder(
+        [in]  DWORD dwFlags,
+        [in]  DWORD_PTR dwReserved,
+        [out] IUriBuilder **ppIUriBuilder);
+};
+
 /*****************************************************************************
  * IInternetProtocolEx interface
  */
@@ -1787,12 +1921,22 @@ cpp_quote("#define INET_E_SECURITY_PROBLEM          _HRESULT_TYPEDEF_(0x800C000E
 cpp_quote("#define INET_E_CANNOT_LOAD_DATA          _HRESULT_TYPEDEF_(0x800C000F)")
 cpp_quote("#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010)")
 cpp_quote("#define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(0x800C0011)")
+cpp_quote("#define INET_E_USE_DEFAULT_SETTING       _HRESULT_TYPEDEF_(0x800C0012L)")
+cpp_quote("#define INET_E_DEFAULT_ACTION            INET_E_USE_DEFAULT_PROTOCOLHANDLER")
 cpp_quote("#define INET_E_QUERYOPTION_UNKNOWN       _HRESULT_TYPEDEF_(0x800C0013)")
 cpp_quote("#define INET_E_REDIRECT_FAILED           _HRESULT_TYPEDEF_(0x800C0014)")
 cpp_quote("#define INET_E_REDIRECT_TO_DIR           _HRESULT_TYPEDEF_(0x800C0015)")
 cpp_quote("#define INET_E_CANNOT_LOCK_REQUEST       _HRESULT_TYPEDEF_(0x800C0016)")
-cpp_quote("#define INET_E_ERROR_LAST                INET_E_REDIRECT_TO_DIR")
-cpp_quote("#define INET_E_DEFAULT_ACTION            INET_E_USE_DEFAULT_PROTOCOLHANDLER")
+cpp_quote("#define INET_E_USE_EXTENDED_BINDING      _HRESULT_TYPEDEF_(0x800C0017)")
+cpp_quote("#define INET_E_TERMINATED_BIND           _HRESULT_TYPEDEF_(0x800C0018)")
+cpp_quote("#define INET_E_INVALID_CERTIFICATE       _HRESULT_TYPEDEF_(0x800C0019)")
+cpp_quote("#define INET_E_CODE_DOWNLOAD_DECLINED    _HRESULT_TYPEDEF_(0x800C0100)")
+cpp_quote("#define INET_E_RESULT_DISPATCHED         _HRESULT_TYPEDEF_(0x800C0200)")
+cpp_quote("#define INET_E_CANNOT_REPLACE_SFP_FILE   _HRESULT_TYPEDEF_(0x800C0300)")
+cpp_quote("#define INET_E_CODE_INSTALL_SUPPRESSED   _HRESULT_TYPEDEF_(0x800C0400)")
+cpp_quote("#define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY  _HRESULT_TYPEDEF_(0x800C0500)")
+cpp_quote("#define INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE        _HRESULT_TYPEDEF_(0x800C0501)")
+cpp_quote("#define INET_E_ERROR_LAST                INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE")
 
 cpp_quote("HRESULT WINAPI CoGetClassObjectFromURL(REFCLSID, LPCWSTR, DWORD, DWORD, LPCWSTR, LPBINDCTX, DWORD, LPVOID, REFIID, LPVOID*);")
 cpp_quote("HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);")
@@ -1811,9 +1955,12 @@ cpp_quote("HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumF
 cpp_quote("HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx*,DWORD,IBindStatusCallback*,IEnumFORMATETC*,IBindCtx**,DWORD);")
 cpp_quote("HRESULT WINAPI CoInternetCreateSecurityManager(IServiceProvider*,IInternetSecurityManager**,DWORD);")
 cpp_quote("HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);")
+cpp_quote("HRESULT WINAPI CoInternetCombineUrlEx(IUri*,LPCWSTR,DWORD,IUri**,DWORD_PTR);")
 cpp_quote("HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);")
+cpp_quote("HRESULT WINAPI CoInternetCombineIUri(IUri*,IUri*,DWORD,IUri**,DWORD_PTR);")
 cpp_quote("HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider*, IInternetZoneManager**, DWORD);")
 cpp_quote("HRESULT WINAPI CoInternetParseUrl(LPCWSTR,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD);")
+cpp_quote("HRESULT WINAPI CoInternetParseIUri(IUri*,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD_PTR);")
 cpp_quote("HRESULT WINAPI CoInternetQueryInfo(LPCWSTR,QUERYOPTION,DWORD,LPVOID,DWORD,DWORD*,DWORD);")
 cpp_quote("HRESULT WINAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST,DWORD,BOOL);")
 cpp_quote("HRESULT WINAPI CoInternetGetSecurityUrl(LPCWSTR,LPWSTR*,PSUACTION,DWORD);")