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.

369 lines
12 KiB

  1. /*===================================================================
  2. Microsoft K2
  3. Microsoft Confidential.
  4. Copyright 1997 Microsoft Corporation. All Rights Reserved.
  5. Component: IDL
  6. File: IWR.idl - Interface for Wam Request
  7. ===================================================================*/
  8. import "basetsd.idl";
  9. import "oaidl.idl";
  10. import "ocidl.idl";
  11. [
  12. uuid(888ADDDD-9993-11D0-A539-00A0C922E798),
  13. helpstring("IWamRequest Interface"),
  14. pointer_default(unique)
  15. ]
  16. interface IWamRequest : IUnknown
  17. {
  18. typedef struct {
  19. DWORD cbBuffer;
  20. [size_is(cbBuffer)] unsigned char * pbBuffer;
  21. } OOP_RESPONSE_BUFFER;
  22. typedef struct {
  23. DWORD cBuffers;
  24. [size_is(cBuffers)] OOP_RESPONSE_BUFFER * rgBuffers;
  25. } OOP_RESPONSE_INFO;
  26. [helpstring("method PrepCleanupWamRequest")]
  27. HRESULT PrepCleanupWamRequest(
  28. [in, size_is(cbLogData)] unsigned char * szLogData
  29. , [in] DWORD cbLogData
  30. , [in] DWORD dwHttpStatusCode
  31. , [in] DWORD dwIsaKeepConn
  32. );
  33. [helpstring("method CleanupWamRequest")]
  34. HRESULT CleanupWamRequest
  35. (
  36. [in, size_is(cbLogData)] unsigned char * szLogData
  37. , [in] DWORD cbLogData
  38. , [in] DWORD dwHttpStatusCode
  39. , [in] DWORD dwIsaKeepConn
  40. );
  41. [helpstring("method GetCoreState")]
  42. HRESULT GetCoreState
  43. (
  44. [in] DWORD cbWrcData,
  45. [in, out, size_is(cbWrcData)] unsigned char * pbWrcData,
  46. [in] DWORD cbWRCF,
  47. [in, out, size_is(cbWRCF)] unsigned char * pbWRCF
  48. );
  49. // NOTE not supported oop - by design
  50. [helpstring("method QueryEntityBody")]
  51. HRESULT QueryEntityBody
  52. (
  53. unsigned char ** ppbEntityBody
  54. );
  55. [helpstring("method SetKeepConn")]
  56. HRESULT SetKeepConn
  57. (
  58. [in] int fKeepConn
  59. );
  60. [helpstring("method IsKeepConnSet")]
  61. HRESULT IsKeepConnSet
  62. (
  63. BOOL * pfKeepConn
  64. );
  65. [helpstring("method SendURLRedirectResponse")]
  66. HRESULT SendURLRedirectResponse
  67. (
  68. [in, string] unsigned char * pData
  69. );
  70. [helpstring("method GetInfoForName")]
  71. HRESULT GetInfoForName
  72. (
  73. [in, string] const unsigned char * szVarName,
  74. [in, out, unique, size_is(cchBuffer)] unsigned char * pchBuffer,
  75. [in] DWORD cchBuffer,
  76. [out] DWORD * pcchRequired
  77. );
  78. [helpstring("method AppendLogParameter")]
  79. HRESULT AppendLogParameter
  80. (
  81. [in, string] unsigned char * pszParam
  82. );
  83. [helpstring("method LookupVirtualRoot")]
  84. HRESULT LookupVirtualRoot
  85. (
  86. [in, out, unique, size_is(cchBuffer)] unsigned char * pchBuffer,
  87. [in] DWORD cchBuffer,
  88. [out] DWORD * pcchRequired
  89. );
  90. [helpstring("method LookupVirtualRootEx")]
  91. HRESULT LookupVirtualRootEx
  92. (
  93. [in, string] unsigned char * szURL,
  94. [in, out, unique, size_is(cchBuffer)] unsigned char * pchBuffer,
  95. [in] DWORD cchBuffer,
  96. [out] DWORD * pcchRequired,
  97. [out] DWORD * pcchMatchingPath,
  98. [out] DWORD * pcchMatchingURL,
  99. [out] DWORD * pdwFlags
  100. );
  101. [helpstring("method GetVirtualPathToken")]
  102. HRESULT GetVirtualPathToken
  103. (
  104. [in, string] unsigned char * szURL,
  105. #ifdef _WIN64
  106. [out] UINT64 * phToken
  107. #else
  108. [out] ULONG_PTR * phToken
  109. #endif
  110. );
  111. // NOTE not supported oop - by design
  112. [helpstring("method GetPrivatePtr")]
  113. HRESULT GetPrivatePtr
  114. (
  115. [in] DWORD dwHSERequest,
  116. [out] unsigned char ** ppData
  117. );
  118. // not supported oop - by design
  119. [helpstring("method AsyncReadClientExt")]
  120. HRESULT AsyncReadClientExt
  121. (
  122. #ifdef _WIN64
  123. [in] UINT64 pWamExecInfo
  124. #else
  125. [in] ULONG_PTR pWamExecInfo
  126. #endif
  127. , [out, size_is(nBytesToRead)] unsigned char * lpBuffer
  128. , [in] DWORD nBytesToRead
  129. );
  130. [helpstring("method AsyncReadClientOop")]
  131. HRESULT AsyncReadClientOop
  132. (
  133. #ifdef _WIN64
  134. [in] UINT64 pWamExecInfo
  135. #else
  136. [in] ULONG_PTR pWamExecInfo
  137. #endif
  138. , [in] DWORD nBytesToRead
  139. );
  140. [helpstring("method AsyncWriteClient")]
  141. HRESULT AsyncWriteClient
  142. (
  143. #ifdef _WIN64
  144. [in] UINT64 pWamExecInfo, // WAM_EXEC_INFO *
  145. #else
  146. [in] ULONG_PTR pWamExecInfo, // WAM_EXEC_INFO *
  147. #endif
  148. [in, size_is( nBytesToWrite )] unsigned char * lpBuffer,
  149. [in] DWORD nBytesToWrite,
  150. [in] DWORD dwFlags
  151. );
  152. [helpstring("method SyncReadClient")]
  153. HRESULT SyncReadClient
  154. (
  155. [out, size_is(nBytesToRead)] unsigned char * lpBuffer,
  156. [in] DWORD nBytesToRead,
  157. [out] DWORD * pnBytesRead
  158. );
  159. [helpstring("method SyncWriteClient")]
  160. HRESULT SyncWriteClient
  161. (
  162. [in] DWORD nBytesToWrite,
  163. [in, size_is( nBytesToWrite )] unsigned char * lpBuffer,
  164. [out] DWORD * pnBytesWritten,
  165. [in] DWORD dwFlags
  166. );
  167. // NOTE not supported oop - by design
  168. [helpstring("method TransmitFileInProc")]
  169. HRESULT TransmitFileInProc(
  170. #ifdef _WIN64
  171. [in] UINT64 pWamExecInfo
  172. #else
  173. [in] ULONG_PTR pWamExecInfo
  174. #endif
  175. , [in] unsigned char * pHseTfIn
  176. );
  177. [helpstring("method TransmitFileOutProc")]
  178. HRESULT TransmitFileOutProc(
  179. #ifdef _WIN64
  180. [in] UINT64 pWamExecInfo
  181. , [in] UINT64 hFile
  182. #else
  183. [in] ULONG_PTR pWamExecInfo
  184. , [in] ULONG_PTR hFile
  185. #endif
  186. , [in, unique, size_is(cbStatusCode)] unsigned char * pszStatusCode
  187. , [in] DWORD cbStatusCode
  188. , [in] DWORD BytesToWrite
  189. , [in] DWORD Offset
  190. , [in, unique, size_is(HeadLength)] unsigned char * pHead
  191. , [in] DWORD HeadLength
  192. , [in, unique, size_is(TailLength)] unsigned char * pTail
  193. , [in] DWORD TailLength
  194. , [in] DWORD dwFlags
  195. );
  196. [helpstring("method SendHeader")]
  197. HRESULT SendHeader(
  198. [in, unique, size_is(cchStatus)] unsigned char * szStatus
  199. , [in] DWORD cchStatus
  200. , [in, unique, size_is(cchHeader)] unsigned char * szHeader
  201. , [in] DWORD cchHeader
  202. , [in] DWORD dwIsaKeepConn
  203. );
  204. // NOTE breaks oop - by design
  205. [helpstring("method SendEntireResponse")]
  206. HRESULT SendEntireResponse(
  207. unsigned char * pvHseResponseInfo // HSE_SEND_ENTIRE_RESPONSE_INFO *
  208. );
  209. [helpstring("method SendEntireResponseAndCleanup")]
  210. HRESULT SendEntireResponseAndCleanup(
  211. [in, unique, size_is(cbStatus)] unsigned char * szStatus
  212. , [in] DWORD cbStatus
  213. , [in, unique, size_is(cbHeader)] unsigned char * szHeader
  214. , [in] DWORD cbHeader
  215. , [in, unique] OOP_RESPONSE_INFO * pOopResponseInfo
  216. , [in, unique, size_is(cbLogData)] unsigned char * szLogData
  217. , [in] DWORD cbLogData
  218. , [in] DWORD dwIsaKeepConn
  219. , [out] BOOL * pfDisconnected
  220. );
  221. [helpstring("method SendRedirectMessage")]
  222. HRESULT SendRedirectMessage
  223. (
  224. [in, string] unsigned char * szRedirect
  225. );
  226. // NOTE breaks oop - by design
  227. [helpstring("method GetSslCtxt")]
  228. HRESULT GetSslCtxt
  229. (
  230. DWORD cbCtxtHandle,
  231. unsigned char * pbCtxtHandle // PBYTE pbCtxtHandle
  232. );
  233. [helpstring("method GetClientCertInfoEx")]
  234. HRESULT GetClientCertInfoEx
  235. (
  236. [in] DWORD cbAllocated,
  237. [out] DWORD * pdwCertEncodingType,
  238. [out, size_is(cbAllocated)] unsigned char * pbCertEncoded,
  239. [out] DWORD * pcbCertEncoded,
  240. [out] DWORD * pdwCertificateFlags
  241. );
  242. // NOTE breaks oop - by design
  243. [helpstring("method GetSspiInfo")]
  244. HRESULT GetSspiInfo
  245. (
  246. DWORD cbCtxtHandle,
  247. unsigned char * pbCtxtHandle, // PBYTE pbCtxtHandle
  248. DWORD cbCredHandle,
  249. unsigned char * pbCredHandle // PBYTE pbCredHandle
  250. );
  251. [helpstring("method RequestAbortiveClose")]
  252. HRESULT RequestAbortiveClose();
  253. [helpstring("method SSIncExec")]
  254. HRESULT SSIncExec
  255. (
  256. [in, string] unsigned char * szCommand,
  257. [in] DWORD dwExecFlags,
  258. [in, string] unsigned char * pszVerb
  259. );
  260. [helpstring("method GetAspMDAllData")]
  261. HRESULT GetAspMDAllData(
  262. [in, string] unsigned char * pszMDPath
  263. , [in] DWORD dwMDUserType
  264. , [in] DWORD dwDefaultBufferSize
  265. , [in, out, unique, size_is(dwDefaultBufferSize)] unsigned char * pBuffer
  266. , [out] DWORD * pdwRequiredBufferSize
  267. , [out] DWORD * pdwNumDataEntries
  268. );
  269. [helpstring("method GetAspMDData")]
  270. HRESULT GetAspMDData(
  271. [in, string] unsigned char * pszMDPath
  272. , [in] DWORD dwMDIdentifier
  273. , [in] DWORD dwMDAttributes
  274. , [in] DWORD dwMDUserType
  275. , [in] DWORD dwMDDataType
  276. , [in] DWORD dwMDDataLen
  277. , [in] DWORD dwMDDataTag
  278. , [in, out, unique, size_is(dwMDDataLen)] unsigned char * pbMDData
  279. , [out] DWORD * pdwRequiredBufferSize
  280. );
  281. [helpstring("method GetCustomError")]
  282. HRESULT GetCustomError(
  283. [in] DWORD dwError,
  284. [in] DWORD dwSubError,
  285. [in] DWORD dwBufferSize,
  286. [in, out, unique, size_is(dwBufferSize)] unsigned char *pbBuffer,
  287. [out] DWORD *pdwRequiredBufferSize,
  288. [out] BOOL *pfIsFileError
  289. );
  290. [helpstring("method TestConnection")]
  291. HRESULT TestConnection(
  292. [out] BOOL *pfIsConnected
  293. );
  294. [helpstring("method CloseConnection")]
  295. HRESULT CloseConnection();
  296. [helpstring("method LogEvent")]
  297. HRESULT LogEvent(
  298. [in] DWORD dwEventId,
  299. [in, string] unsigned char *szText
  300. );
  301. [helpstring("method ExtensionTrigger")]
  302. HRESULT ExtensionTrigger(
  303. [in] unsigned char * pvContext,
  304. [in] DWORD dwTriggerType
  305. );
  306. HRESULT DbgRefCount( );
  307. };