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.

666 lines
16 KiB

  1. /*===================================================================
  2. Microsoft Denali
  3. Microsoft Confidential.
  4. Copyright 1996 Microsoft Corporation. All Rights Reserved.
  5. Component: ODL
  6. File: DENA0000.ODL
  7. Neutral/English Denali Type Library
  8. "Neutral" language is considered to be English. We register
  9. this under LCID of 0 so the lcid before "library" has to match.
  10. ===================================================================*/
  11. //LIBID_Denali
  12. [
  13. uuid(D97A6DA0-A85C-11cf-83AE-00A0C90C2BD8)
  14. , helpstring("Microsoft Active Server Pages 1.0 Object Library")
  15. , lcid(0x0000)
  16. , version(1.0)
  17. ]
  18. library ASPTypeLibrary
  19. {
  20. #ifdef WIN32
  21. importlib("STDOLE2.TLB");
  22. #else
  23. importlib("STDOLE.TLB");
  24. #endif
  25. /*
  26. * IID_IStringList
  27. * intermediate object returned by the Request object
  28. */
  29. [
  30. uuid(D97A6DA0-A85D-11cf-83AE-00A0C90C2BD8)
  31. , helpstring("A string containing comma separated values")
  32. , odl
  33. , oleautomation
  34. , dual
  35. , hidden
  36. ]
  37. interface IStringList : IDispatch
  38. {
  39. // Item (default property) (r/o)
  40. [propget, id(0)]
  41. HRESULT Item([optional, in] VARIANT i, [out, retval] VARIANT *pVariantReturn);
  42. // Count (r/o)
  43. [propget, helpstring("Number of items in the list of strings")]
  44. HRESULT Count([out, retval] int *cStrRet);
  45. // Enumerator (r/o)
  46. [propget, id(-4), restricted]
  47. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  48. };
  49. /*
  50. * IID_IRequestDictionary
  51. *
  52. * QueryString, ServerVariables, Form, and Request.Cookies are all of this type.
  53. * Request.Item is not because it does not support an optional key or enumeration.
  54. */
  55. [
  56. uuid(D97A6DA0-A85F-11df-83AE-00A0C90C2BD8)
  57. , helpstring("Dictionary for Request collections")
  58. , odl
  59. , oleautomation
  60. , dual
  61. , hidden
  62. ]
  63. interface IRequestDictionary : IDispatch
  64. {
  65. // Item (r/o)
  66. [propget, id(0)]
  67. HRESULT Item([optional, in] VARIANT Var, [out, retval] VARIANT *pVariantReturn);
  68. // Enumerator (r/o)
  69. [propget, id(-4), restricted]
  70. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  71. };
  72. /*
  73. * IID_IRequest
  74. *
  75. * The main (combined) collection
  76. */
  77. [
  78. uuid(D97A6DA0-A861-11cf-93AE-00A0C90C2BD8)
  79. , odl
  80. , oleautomation
  81. , dual
  82. , hidden
  83. ]
  84. interface IRequest : IDispatch
  85. {
  86. // Item (r/o)
  87. [propget, id(0)]
  88. HRESULT Item([in] BSTR bstrVar, [out, retval] IDispatch **ppObjReturn);
  89. // QueryString (r/o)
  90. [propget, helpstring("Collection of query string values")]
  91. HRESULT QueryString([out, retval] IRequestDictionary **ppDictReturn);
  92. // Form (r/o)
  93. [propget, helpstring("Collection of form elements")]
  94. HRESULT Form([out, retval] IRequestDictionary **ppDictReturn);
  95. // Body (compatibility hack for MSN) (r/o)
  96. [propget, hidden]
  97. HRESULT Body([out, retval] IRequestDictionary **ppDictReturn);
  98. // ServerVariables (r/o)
  99. [propget, helpstring("Collection of predetermined environment variables")]
  100. HRESULT ServerVariables([out, retval] IRequestDictionary **ppDictReturn);
  101. // ClientCertificate (r/o)
  102. [propget, helpstring("Collection of client certificate fields (specified in the X.509 standard)")]
  103. HRESULT ClientCertificate([out, retval] IRequestDictionary **ppDictReturn);
  104. // Cookies (r/o)
  105. [propget, helpstring("Collection of cookies sent as part of the Request (read only)")]
  106. HRESULT Cookies([out, retval] IRequestDictionary **ppDictReturn);
  107. // BytesTotal (r/o)
  108. [propget, helpstring("Total number of bytes the client will return in the request body")]
  109. HRESULT TotalBytes([out, retval] long *pcbTotal);
  110. //
  111. //Methods
  112. //
  113. // BinaryRead
  114. [helpstring("Reads data returned by the client in a POST request")]
  115. HRESULT BinaryRead([in, out] VARIANT *pvarCountToRead, [out, retval] VARIANT *pvarReturn);
  116. };
  117. /*
  118. * CLSID_Request
  119. *
  120. * The Request class
  121. */
  122. [
  123. uuid(920c25d0-25d9-11d0-a55f-00a0c90c2091),
  124. , helpstring("Information from an HTTP client request")
  125. , noncreatable
  126. ]
  127. coclass Request
  128. {
  129. interface IRequest;
  130. }
  131. /*
  132. * IID_IReadCookie
  133. *
  134. * intermediate object returned by Request.Cookies
  135. */
  136. [
  137. uuid(71EAF260-0CE0-11D0-A53E-00A0C90C2091),
  138. , helpstring("Intermediate object for Request.Cookies")
  139. , odl
  140. , oleautomation
  141. , dual
  142. , hidden
  143. ]
  144. interface IReadCookie : IDispatch
  145. {
  146. // Item (r/o)
  147. [propget, id(0)]
  148. HRESULT Item([optional, in] VARIANT Var, [out, retval] VARIANT *pVariantReturn);
  149. // HasKeys (r/o)
  150. [propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary)")]
  151. HRESULT HasKeys([out, retval] boolean *pfHasKeys);
  152. // Enumerator (r/o)
  153. [propget, id(-4), restricted]
  154. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  155. };
  156. /*
  157. * IID_IWriteCookie
  158. * intermediate object returned by Response.Cookies
  159. */
  160. [
  161. uuid(D97A6DA0-A862-11cf-84AE-00A0C90C2BD8)
  162. , helpstring("Intermediate object for Response.Cookies")
  163. , odl
  164. , oleautomation
  165. , dual
  166. , hidden
  167. ]
  168. interface IWriteCookie : IDispatch
  169. {
  170. // Item (w/o)
  171. [propput, id(0)]
  172. HRESULT Item([optional, in] VARIANT key, [in] BSTR bstrValue);
  173. // Expires (w/o)
  174. [propput, helpstring("Expires the cookie at the specified date and time")]
  175. HRESULT Expires([in] DATE dtExpires);
  176. // Domain (w/o)
  177. [propput, helpstring("Limits the cookie to the specified Domain")]
  178. HRESULT Domain([in] BSTR bstrDomain);
  179. // Path (w/o)
  180. [propput, helpstring("Limits the cookie to the specified Path (defaults to Application path)")]
  181. HRESULT Path([in] BSTR bstrPath);
  182. // Secure (w/o)
  183. [propput, helpstring("Indicates whether the cookie is Secure")]
  184. HRESULT Secure([in] boolean fSecure);
  185. // HasKeys (r/o)
  186. [propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary)")]
  187. HRESULT HasKeys([out, retval] boolean *pfHasKeys);
  188. // Enumerator (r/o)
  189. [propget, id(-4), restricted]
  190. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  191. }
  192. /*
  193. * IID_IResponse
  194. * 'interface' entries must have 'odl' attribute
  195. */
  196. [
  197. uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8)
  198. , odl
  199. , oleautomation
  200. , dual
  201. , hidden
  202. ]
  203. interface IResponse : IDispatch
  204. {
  205. //
  206. //
  207. //Properties
  208. //
  209. //
  210. // Buffer (r/w)
  211. [propget, helpstring("Indicates whether page output is buffered")]
  212. HRESULT Buffer([out, retval] boolean* fIsBuffering);
  213. [propput]
  214. HRESULT Buffer([in] boolean fIsBuffering);
  215. // ContentType (r/w)
  216. [propget, helpstring("The HTTP content type")]
  217. HRESULT ContentType([out, retval] BSTR *pbstrContentTypeRet);
  218. [propput]
  219. HRESULT ContentType([in] BSTR bstrContentType);
  220. // Expires (r/w)
  221. [propget, helpstring("The length of time in minutes until the Response expires")]
  222. HRESULT Expires([out, retval] VARIANT *pvarExpiresMinutesRet);
  223. [propput]
  224. HRESULT Expires([in] long lExpiresMinutes);
  225. // ExpiresAbsolute (r/w)
  226. [propget, helpstring("The absolute date and time that the Response expires")]
  227. HRESULT ExpiresAbsolute([out, retval] VARIANT *pvarExpiresRet);
  228. [propput]
  229. HRESULT ExpiresAbsolute([in] DATE dtExpires);
  230. [helpstring("Collection of cookies sent as part of the Response (write only)"), propget]
  231. HRESULT Cookies([out, retval] IRequestDictionary **ppCookies);
  232. // Status (r/w)
  233. [propget, helpstring("The HTTP server status line")]
  234. HRESULT Status([out, retval] BSTR *pbstrStatusRet);
  235. [propput]
  236. HRESULT Status([in] BSTR bstrStatus);
  237. //
  238. //Methods
  239. //
  240. // Add
  241. [hidden]
  242. HRESULT Add([in] BSTR bstrHeaderValue, [in] BSTR bstrHeaderName);
  243. // AddHeader
  244. [helpstring("Adds an HTTP header")]
  245. HRESULT AddHeader([in] BSTR bstrHeaderName, [in] BSTR bstrHeaderValue);
  246. // AppendToLog
  247. [helpstring("Adds a string to the end of the Web server log entry for this Request")]
  248. HRESULT AppendToLog([in] BSTR bstrLogEntry);
  249. // BinaryWrite
  250. [helpstring("Writes content without any character (Unicode to ANSI) conversion")]
  251. HRESULT BinaryWrite([in] VARIANT varInput);
  252. // Clear
  253. [helpstring("Erases any buffered content")]
  254. HRESULT Clear(void);
  255. // End
  256. [helpstring("Causes Active Server Pages to stop processing and return any buffered output")]
  257. HRESULT End(void);
  258. // Flush
  259. [helpstring("Sends buffered output immediately")]
  260. HRESULT Flush(void);
  261. // Redirect
  262. [helpstring("Sends a '302 Redirect' status line")]
  263. HRESULT Redirect([in] BSTR bstrURL);
  264. // Write
  265. [helpstring("Writes content with character (Unicode to ANSI) conversion")]
  266. HRESULT Write([in] VARIANT varText);
  267. // WriteBlock
  268. [hidden]
  269. HRESULT WriteBlock([in] short iBlockNumber);
  270. // IsClientConnected
  271. [helpstring("Is the client connection still valid")]
  272. HRESULT IsClientConnected([out, retval] boolean *pfIsClientConnected);
  273. // CharSet (r/w)
  274. [propget, helpstring("The HTTP Character set header")]
  275. HRESULT CharSet([out, retval] BSTR *pbstrCharSetRet);
  276. [propput]
  277. HRESULT CharSet([in] BSTR bstrCharSet);
  278. // Pics - Adds a pics Header
  279. [helpstring("Adds an HTTP pics header")]
  280. HRESULT Pics( [in] BSTR bstrHeaderValue );
  281. // CacheControl (r/w)
  282. [propget, helpstring("The HTTP Cache-control header")]
  283. HRESULT CacheControl([out, retval] BSTR *pbstrCacheControl);
  284. [propput]
  285. HRESULT CacheControl([in] BSTR bstrCacheControl);
  286. }
  287. /*
  288. * CLSID_Response
  289. *
  290. * The Response class
  291. */
  292. [
  293. uuid(46E19BA0-25DD-11D0-A55F-00A0C90C2091),
  294. , helpstring("Manipulates information for the HTTP client response")
  295. , noncreatable
  296. ]
  297. coclass Response
  298. {
  299. interface IResponse;
  300. }
  301. /*
  302. * IID_IVariantDictionary
  303. */
  304. [
  305. uuid(4a7deb90-b069-11d0-b373-00a0c90c2bd8)
  306. , helpstring("Dictionary for Variant collections")
  307. , odl
  308. , oleautomation
  309. , dual
  310. , hidden
  311. ]
  312. interface IVariantDictionary : IDispatch
  313. {
  314. // Item (r/o)
  315. [propget, id(0)]
  316. HRESULT Item([in] VARIANT Var, [out, retval] VARIANT *pvar);
  317. // Name (r/o)
  318. [propget]
  319. HRESULT Name([in] VARIANT Var, [out, retval] BSTR *pbstrRet);
  320. // Count (r/o)
  321. [propget, helpstring("Number of items in the list of strings")]
  322. HRESULT Count([out, retval] int *cStrRet);
  323. // Enumerator (r/o)
  324. [propget, id(-4), restricted]
  325. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  326. };
  327. // --------------------------------------------------------------------------
  328. //
  329. // IID_ISessionObject
  330. // 'interface' entries must have 'odl' attribute
  331. //
  332. // --------------------------------------------------------------------------
  333. [
  334. uuid(D97A6DA0-A865-11cf-83AF-00A0C90C2BD8)
  335. , odl
  336. , dual
  337. , oleautomation
  338. , hidden
  339. ]
  340. interface ISessionObject : IDispatch
  341. {
  342. //
  343. //Properties
  344. //
  345. // SessionID (r/o)
  346. [propget, helpstring("Returns a Session ID for this user")]
  347. HRESULT SessionID([out,retval] BSTR *pbstrRet);
  348. // Value (r/w)
  349. [id(0), propget]
  350. HRESULT Value([in] BSTR bstrValue, [out, retval] VARIANT *pvar);
  351. [id(0), propput]
  352. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  353. [id(0), propputref]
  354. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  355. // Timeout (r/w)
  356. [propget, helpstring("The length of time in minutes before session state is destroyed after non-use by an individual user")]
  357. HRESULT Timeout([out, retval] long *plvar );
  358. [propput]
  359. HRESULT Timeout( [in] long lvar );
  360. //
  361. //Methods
  362. //
  363. [helpstring("Destroys a Session object and releases its resources")]
  364. HRESULT Abandon();
  365. // Code page (r/w)
  366. [propget, helpstring("The code page used when writing text to, or reading text from, the browser.")]
  367. HRESULT CodePage([out, retval] long *plvar );
  368. [propput]
  369. HRESULT CodePage( [in] long lvar );
  370. // LCID (r/w)
  371. [propget, helpstring("The LCID used when writing text to, or reading text from, the browser.")]
  372. HRESULT LCID([out, retval] long *plvar );
  373. [propput]
  374. HRESULT LCID( [in] long lvar );
  375. // Tagged Objects (r/o)
  376. [propget, helpstring("Collection of tagged objects associated with session")]
  377. HRESULT Objects([out, retval] IVariantDictionary **ppTaggedObjects);
  378. // Properties (r/o)
  379. [propget, helpstring("Collection of variants associated with Session")]
  380. HRESULT Properties([out, retval] IVariantDictionary **ppProperties);
  381. }
  382. /*
  383. * CLSID_Session
  384. *
  385. * The Session class
  386. */
  387. [
  388. uuid(509F8F20-25DE-11D0-A55F-00A0C90C2091)
  389. , helpstring("Persistent collection for one user of an application")
  390. , noncreatable
  391. ]
  392. coclass Session
  393. {
  394. interface ISessionObject;
  395. }
  396. // --------------------------------------------------------------------------
  397. //
  398. // IID_IApplicationObject
  399. // 'interface' entries must have 'odl' attribute
  400. //
  401. // --------------------------------------------------------------------------
  402. [
  403. uuid(D97A6DA0-A866-11cf-83AE-10A0C90C2BD8)
  404. , odl
  405. , oleautomation
  406. , dual
  407. , hidden
  408. ]
  409. interface IApplicationObject : IDispatch
  410. {
  411. //
  412. //Properties
  413. //
  414. // Value (r/w)
  415. [id(0), propget]
  416. HRESULT Value([in] BSTR bstrValue, [out, retval] VARIANT *pvar);
  417. [id(0), propput]
  418. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  419. [id(0), propputref]
  420. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  421. //
  422. //Methods
  423. //
  424. // Lock
  425. [helpstring("Prevents other Active Server Pages from modifying the Application object")]
  426. HRESULT Lock();
  427. // Unlock
  428. [helpstring("Enables other Active Server Pages to modify the Application object")]
  429. HRESULT UnLock();
  430. // Properties (r/o)
  431. [propget, helpstring("Collection of variants associated with application")]
  432. HRESULT Properties([out, retval] IVariantDictionary **ppProperties);
  433. // Properties (r/o)
  434. [propget, helpstring("Collection of tagged objects associated with application")]
  435. HRESULT Objects([out, retval] IVariantDictionary **ppProperties);
  436. }
  437. /*
  438. * CLSID_Application
  439. *
  440. * The Application class
  441. */
  442. [
  443. uuid(7C3BAF00-25DE-11D0-A55F-00A0C90C2091)
  444. , helpstring("Persistent collection for all users of an application")
  445. , noncreatable
  446. ]
  447. coclass Application
  448. {
  449. interface IApplicationObject;
  450. }
  451. /*
  452. * IID_IServer
  453. * 'interface' entries must have 'odl' attribute
  454. */
  455. [
  456. uuid(D97A6DA0-A867-11cf-83AE-01A0C90C2BD8)
  457. , odl
  458. , oleautomation
  459. , dual
  460. , hidden
  461. ]
  462. interface IServer : IDispatch
  463. {
  464. //
  465. //
  466. //Properties
  467. //
  468. //
  469. // ScriptTimeout (r/w)
  470. [propget, helpstring("The maximum length of time in seconds before a script is terminated")]
  471. HRESULT ScriptTimeout([out, retval] long *plTimeoutSeconds );
  472. [propput]
  473. HRESULT ScriptTimeout([in] long lTimeoutSeconds );
  474. //
  475. //Methods
  476. //
  477. // CreateObject
  478. [helpstring("Creates an instance of a server component")]
  479. HRESULT CreateObject([in] BSTR bstrProgID, [out, retval] IDispatch **ppDispObject);
  480. // HTMLEncode
  481. [helpstring("Applies HTML encoding to a specified string")]
  482. HRESULT HTMLEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded);
  483. // MapPath
  484. [helpstring("Maps the specified relative or virtual path to the corresponding physical directory on the server")]
  485. HRESULT MapPath([in] BSTR bstrLogicalPath, [out,retval] BSTR *pbstrPhysicalPath);
  486. // URLEncode
  487. [helpstring("Applies URL encoding rules, including escape characters, to a specified string")]
  488. HRESULT URLEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded);
  489. }
  490. /*
  491. * CLSID_Server
  492. *
  493. * The Server class
  494. */
  495. [
  496. uuid(A506D160-25E0-11D0-A55F-00A0C90C2091)
  497. , helpstring("Server-side processing functions")
  498. , noncreatable
  499. ]
  500. coclass Server
  501. {
  502. interface IServer;
  503. }
  504. //
  505. // IID_IScriptingContext
  506. // 'interface' entries must have 'odl' attribute
  507. //
  508. [
  509. uuid(D97A6DA0-A868-11cf-83AE-00B0C90C2BD8)
  510. , helpstring("Active Server Page Scripting Context")
  511. , odl
  512. , oleautomation
  513. , dual
  514. , hidden
  515. ]
  516. interface IScriptingContext : IDispatch
  517. {
  518. //
  519. //Properties
  520. //
  521. // Request
  522. [propget, helpstring("Returns the Request object")]
  523. HRESULT Request([out, retval] IRequest **ppRequest);
  524. // Response
  525. [propget, helpstring("Returns the Response object")]
  526. HRESULT Response([out, retval] IResponse **ppResponse);
  527. // Server
  528. [propget, helpstring("Returns the Server object")]
  529. HRESULT Server([out, retval] IServer **ppServer);
  530. // Session
  531. [propget, helpstring("Returns the Session object")]
  532. HRESULT Session([out, retval] ISessionObject **ppSession);
  533. // Application
  534. [propget, helpstring("Returns the Application object")]
  535. HRESULT Application([out, retval] IApplicationObject **ppApplication);
  536. }
  537. //
  538. // CLSID_ScriptingContext
  539. //
  540. [
  541. uuid(D97A6DA0-A868-11cf-83AE-11B0C90C2BD8)
  542. , helpstring("Active Server Page Scripting Context")
  543. , noncreatable
  544. ]
  545. coclass ScriptingContext
  546. {
  547. interface IScriptingContext;
  548. }
  549. }