Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

253 lines
7.1 KiB

  1. // IE4Int.h -- IE 4.0 interfaces which we use or implement
  2. #ifndef __IE4INT_H__
  3. #define __IE4INT_H__
  4. #ifndef __IOInetProtocolRoot_INTERFACE_DEFINED__
  5. #define __IOInetProtocolRoot_INTERFACE_DEFINED__
  6. /****************************************
  7. * Generated header for interface: IOInetProtocolRoot
  8. * at Wed Apr 30 05:28:51 1997
  9. * using MIDL 3.02.88
  10. ****************************************/
  11. /* [unique][uuid][object][local] */
  12. typedef /* [unique] */ IOInetProtocolRoot __RPC_FAR *LPOINETPROTOCOLROOT;
  13. typedef
  14. enum _tagPI_FLAGS
  15. { PI_PARSE_URL = 0x1,
  16. PI_FILTER_MODE = 0x2,
  17. PI_FORCE_ASYNC = 0x4,
  18. PI_USE_WORKERTHREAD = 0x8,
  19. PI_MIMEVERIFICATION = 0x10,
  20. PI_DOCFILECLSIDLOOKUP = 0x20,
  21. PI_DATAPROGRESS = 0x40,
  22. PI_SYNCHRONOUS = 0x80,
  23. PI_APARTMENTTHREADED = 0x100
  24. } PI_FLAGS;
  25. typedef struct _tagPROTOCOLDATA
  26. {
  27. DWORD grfFlags;
  28. DWORD dwState;
  29. LPVOID pData;
  30. ULONG cbData;
  31. } PROTOCOLDATA;
  32. EXTERN_C const IID IID_IOInetProtocolRoot;
  33. interface DECLSPEC_UUID("79eac9e3-baf9-11ce-8c82-00aa004ba90b")
  34. IOInetProtocolRoot : public IUnknown
  35. {
  36. public:
  37. virtual HRESULT STDMETHODCALLTYPE Start(
  38. /* [in] */ LPCWSTR szUrl,
  39. /* [in] */ IOInetProtocolSink __RPC_FAR *pOIProtSink,
  40. /* [in] */ IOInetBindInfo __RPC_FAR *pOIBindInfo,
  41. /* [in] */ DWORD grfPI,
  42. /* [in] */ DWORD dwReserved) = 0;
  43. virtual HRESULT STDMETHODCALLTYPE Continue(
  44. /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData) = 0;
  45. virtual HRESULT STDMETHODCALLTYPE Abort(
  46. /* [in] */ HRESULT hrReason,
  47. /* [in] */ DWORD dwOptions) = 0;
  48. virtual HRESULT STDMETHODCALLTYPE Terminate(
  49. /* [in] */ DWORD dwOptions) = 0;
  50. virtual HRESULT STDMETHODCALLTYPE Suspend( void) = 0;
  51. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  52. };
  53. #endif // __IOInetProtocolRoot_INTERFACE_DEFINED__
  54. #ifndef _LPOINETPROTOCOL_DEFINED
  55. #define _LPOINETPROTOCOL_DEFINED
  56. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0098_v0_0_c_ifspec;
  57. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0098_v0_0_s_ifspec;
  58. #ifndef __IOInetProtocol_INTERFACE_DEFINED__
  59. #define __IOInetProtocol_INTERFACE_DEFINED__
  60. /****************************************
  61. * Generated header for interface: IOInetProtocol
  62. * at Wed Apr 30 05:28:51 1997
  63. * using MIDL 3.02.88
  64. ****************************************/
  65. /* [unique][uuid][object][local] */
  66. EXTERN_C const IID IID_IOInetProtocol;
  67. interface DECLSPEC_UUID("79eac9e4-baf9-11ce-8c82-00aa004ba90b")
  68. IOInetProtocol : public IOInetProtocolRoot
  69. {
  70. public:
  71. virtual HRESULT STDMETHODCALLTYPE Read(
  72. /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  73. /* [in] */ ULONG cb,
  74. /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  75. virtual HRESULT STDMETHODCALLTYPE Seek(
  76. /* [in] */ LARGE_INTEGER dlibMove,
  77. /* [in] */ DWORD dwOrigin,
  78. /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition) = 0;
  79. virtual HRESULT STDMETHODCALLTYPE LockRequest(
  80. /* [in] */ DWORD dwOptions) = 0;
  81. virtual HRESULT STDMETHODCALLTYPE UnlockRequest( void) = 0;
  82. };
  83. #endif // __IOInetProtocol_INTERFACE_DEFINED__
  84. #endif // _LPOINETPROTOCOL_DEFINED
  85. #ifndef _LPOINETPROTOCOLSINK_DEFINED
  86. #define _LPOINETPROTOCOLSINK_DEFINED
  87. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0099_v0_0_c_ifspec;
  88. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0099_v0_0_s_ifspec;
  89. #ifndef __IOInetProtocolSink_INTERFACE_DEFINED__
  90. #define __IOInetProtocolSink_INTERFACE_DEFINED__
  91. /****************************************
  92. * Generated header for interface: IOInetProtocolSink
  93. * at Wed Apr 30 05:28:51 1997
  94. * using MIDL 3.02.88
  95. ****************************************/
  96. /* [unique][uuid][object][local] */
  97. typedef /* [unique] */ IOInetProtocolSink __RPC_FAR *LPOINETPROTOCOLSINK;
  98. EXTERN_C const IID IID_IOInetProtocolSink;
  99. interface DECLSPEC_UUID("79eac9e5-baf9-11ce-8c82-00aa004ba90b")
  100. IOInetProtocolSink : public IUnknown
  101. {
  102. public:
  103. virtual HRESULT STDMETHODCALLTYPE Switch(
  104. /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData) = 0;
  105. virtual HRESULT STDMETHODCALLTYPE ReportProgress(
  106. /* [in] */ ULONG ulStatusCode,
  107. /* [in] */ LPCWSTR szStatusText) = 0;
  108. virtual HRESULT STDMETHODCALLTYPE ReportData(
  109. /* [in] */ DWORD grfBSCF,
  110. /* [in] */ ULONG ulProgress,
  111. /* [in] */ ULONG ulProgressMax) = 0;
  112. virtual HRESULT STDMETHODCALLTYPE ReportResult(
  113. /* [in] */ HRESULT hrResult,
  114. /* [in] */ DWORD dwError,
  115. /* [in] */ LPCWSTR szResult) = 0;
  116. };
  117. #endif // __IOInetProtocolSink_INTERFACE_DEFINED__
  118. #endif // _LPOINETPROTOCOLSINK_DEFINED
  119. #ifndef __IOInetProtocolInfo_INTERFACE_DEFINED__
  120. #define __IOInetProtocolInfo_INTERFACE_DEFINED__
  121. /****************************************
  122. * Generated header for interface: IOInetProtocolInfo
  123. * at Wed Apr 30 05:28:51 1997
  124. * using MIDL 3.02.88
  125. ****************************************/
  126. /* [unique][uuid][object][local] */
  127. typedef
  128. enum _tagPARSEACTION
  129. { PARSE_CANONICALIZE = 1,
  130. PARSE_FRIENDLY = PARSE_CANONICALIZE + 1,
  131. PARSE_SECURITY_DOMAIN = PARSE_FRIENDLY + 1,
  132. PARSE_ROOTDOCUMENT = PARSE_SECURITY_DOMAIN + 1,
  133. PARSE_DOCUMENT = PARSE_ROOTDOCUMENT + 1,
  134. PARSE_ANCHOR = PARSE_DOCUMENT + 1,
  135. PARSE_ENCODE = PARSE_ANCHOR + 1,
  136. PARSE_DECODE = PARSE_ENCODE + 1,
  137. PARSE_PATH_FROM_URL = PARSE_DECODE + 1,
  138. PARSE_URL_FROM_PATH = PARSE_PATH_FROM_URL + 1,
  139. PARSE_MIME = PARSE_URL_FROM_PATH + 1,
  140. PARSE_SERVER = PARSE_MIME + 1
  141. } PARSEACTION;
  142. typedef
  143. enum _tagQUERYOPTION
  144. { QUERY_EXPIRATION_DATE = 1,
  145. QUERY_TIME_OF_LAST_CHANGE = QUERY_EXPIRATION_DATE + 1,
  146. QUERY_CONTENT_ENCODING = QUERY_TIME_OF_LAST_CHANGE + 1
  147. } QUERYOPTION;
  148. EXTERN_C const IID IID_IOInetProtocolInfo;
  149. interface DECLSPEC_UUID("79eac9ec-baf9-11ce-8c82-00aa004ba90b")
  150. IOInetProtocolInfo : public IUnknown
  151. {
  152. public:
  153. virtual HRESULT STDMETHODCALLTYPE ParseUrl(
  154. /* [in] */ LPCWSTR pwzUrl,
  155. /* [in] */ PARSEACTION ParseAction,
  156. /* [in] */ DWORD dwParseFlags,
  157. /* [out] */ LPWSTR pwzResult,
  158. /* [in] */ DWORD cchResult,
  159. /* [out] */ DWORD __RPC_FAR *pcchResult,
  160. /* [in] */ DWORD dwReserved) = 0;
  161. virtual HRESULT STDMETHODCALLTYPE CombineUrl(
  162. /* [in] */ LPCWSTR pwzBaseUrl,
  163. /* [in] */ LPCWSTR pwzRelativeUrl,
  164. /* [in] */ DWORD dwCombineFlags,
  165. /* [out] */ LPWSTR pwzResult,
  166. /* [in] */ DWORD cchResult,
  167. /* [out] */ DWORD __RPC_FAR *pcchResult,
  168. /* [in] */ DWORD dwReserved) = 0;
  169. virtual HRESULT STDMETHODCALLTYPE CompareUrl(
  170. /* [in] */ LPCWSTR pwzUrl1,
  171. /* [in] */ LPCWSTR pwzUrl2,
  172. /* [in] */ DWORD dwCompareFlags) = 0;
  173. virtual HRESULT STDMETHODCALLTYPE QueryInfo(
  174. /* [in] */ LPCWSTR pwzUrl,
  175. /* [in] */ QUERYOPTION OueryOption,
  176. /* [in] */ DWORD dwQueryFlags,
  177. /* [size_is][out][in] */ LPVOID pBuffer,
  178. /* [in] */ DWORD cbBuffer,
  179. /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  180. /* [in] */ DWORD dwReserved) = 0;
  181. };
  182. typedef /* [unique] */ IOInetProtocolInfo *LPOINETPROTOCOLINFO;
  183. #endif // __IOInetProtocolInfo_INTERFACE_DEFINED__
  184. #endif // __IE4INT_H__