Leaked source code of windows server 2003
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.

767 lines
22 KiB

  1. //===================================================================
  2. // Microsoft ASP (Active Server Pages)
  3. //
  4. // Copyright 1996-1999 Microsoft Corporation. All Rights Reserved.
  5. //
  6. // File: asp.idl
  7. //
  8. // Neutral/English ASP Interfaces
  9. //
  10. // "Neutral" language is considered to be English. We register
  11. // this under LCID of 0 so the lcid before "library" has to match.
  12. //===================================================================
  13. //LIBID_Denali
  14. [
  15. uuid(D97A6DA0-A85C-11cf-83AE-00A0C90C2BD8)
  16. , helpstring("Microsoft Active Server Pages Object Library")
  17. , lcid(0x0000)
  18. , version(3.0)
  19. ]
  20. library ASPTypeLibrary
  21. {
  22. importlib ("stdole2.tlb");
  23. /*
  24. * IID_IStringList
  25. * intermediate object returned by the Request object
  26. */
  27. [
  28. uuid(D97A6DA0-A85D-11cf-83AE-00A0C90C2BD8)
  29. , helpstring("A string containing comma separated values")
  30. , odl
  31. , oleautomation
  32. , dual
  33. , hidden
  34. ]
  35. interface IStringList : IDispatch
  36. {
  37. // Item (default property) (r/o)
  38. [propget, id(0)]
  39. HRESULT Item([optional, in] VARIANT i, [out, retval] VARIANT *pVariantReturn);
  40. // Count (r/o)
  41. [propget, helpstring("Number of items in the list of strings")]
  42. HRESULT Count([out, retval] int *cStrRet);
  43. // Enumerator (r/o)
  44. [propget, id(-4), restricted]
  45. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  46. };
  47. /*
  48. * IID_IRequestDictionary
  49. *
  50. * QueryString, ServerVariables, Form, and Request.Cookies are all of this type.
  51. * Request.Item is not because it does not support an optional key or enumeration.
  52. */
  53. [
  54. uuid(D97A6DA0-A85F-11df-83AE-00A0C90C2BD8)
  55. , helpstring("Dictionary for Request collections")
  56. , odl
  57. , oleautomation
  58. , dual
  59. , hidden
  60. ]
  61. interface IRequestDictionary : IDispatch
  62. {
  63. // Item (r/o)
  64. [propget, id(0)]
  65. HRESULT Item([optional, in] VARIANT Var, [out, retval] VARIANT *pVariantReturn);
  66. // Enumerator (r/o)
  67. [propget, id(-4), restricted]
  68. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  69. // Count (r/o)
  70. [propget, helpstring("Number of items in the dictionary of variants")]
  71. HRESULT Count([out, retval] int *cStrRet);
  72. // Key (r/o)
  73. [propget]
  74. HRESULT Key([in] VARIANT VarKey, [out, retval] VARIANT *pvar);
  75. };
  76. /*
  77. * IID_IRequest
  78. *
  79. * The main (combined) collection
  80. */
  81. [
  82. uuid(D97A6DA0-A861-11cf-93AE-00A0C90C2BD8)
  83. , odl
  84. , oleautomation
  85. , dual
  86. , hidden
  87. ]
  88. interface IRequest : IDispatch
  89. {
  90. // Item (r/o)
  91. [propget, id(0)]
  92. HRESULT Item([in] BSTR bstrVar, [out, retval] IDispatch **ppObjReturn);
  93. // QueryString (r/o)
  94. [propget, helpstring("Retrieves the values of the variables in the HTTP query string.")]
  95. HRESULT QueryString([out, retval] IRequestDictionary **ppDictReturn);
  96. // Form (r/o)
  97. [propget, helpstring("Retrieves the values of form elements posted to the HTTP request body by a form using the POST method.")]
  98. HRESULT Form([out, retval] IRequestDictionary **ppDictReturn);
  99. // Body (r/o)
  100. [propget, hidden]
  101. HRESULT Body([out, retval] IRequestDictionary **ppDictReturn);
  102. // ServerVariables (r/o)
  103. [propget, helpstring("Retrieves the values of predetermined environment variables.")]
  104. HRESULT ServerVariables([out, retval] IRequestDictionary **ppDictReturn);
  105. // ClientCertificate (r/o)
  106. [propget, helpstring("Collection of client certificate fields (specified in the X.509 standard) issued by the client.")]
  107. HRESULT ClientCertificate([out, retval] IRequestDictionary **ppDictReturn);
  108. // Cookies (r/o)
  109. [propget, helpstring("Collection of cookies sent as part of the Request (read only).")]
  110. HRESULT Cookies([out, retval] IRequestDictionary **ppDictReturn);
  111. // BytesTotal (r/o)
  112. [propget, helpstring("Specifies the total number of bytes the client sent in the body of the request.")]
  113. HRESULT TotalBytes([out, retval] long *pcbTotal);
  114. //
  115. //Methods
  116. //
  117. // BinaryRead
  118. [helpstring("Reads data returned by the client in a POST request")]
  119. HRESULT BinaryRead([in, out] VARIANT *pvarCountToRead, [out, retval] VARIANT *pvarReturn);
  120. };
  121. /*
  122. * CLSID_Request
  123. *
  124. * The Request class
  125. */
  126. [
  127. uuid(920c25d0-25d9-11d0-a55f-00a0c90c2091),
  128. , helpstring("Retrieves the values that the client browser passed to the server during an HTTP request.")
  129. , noncreatable
  130. ]
  131. coclass Request
  132. {
  133. interface IRequest;
  134. }
  135. /*
  136. * IID_IReadCookie
  137. *
  138. * intermediate object returned by Request.Cookies
  139. */
  140. [
  141. uuid(71EAF260-0CE0-11D0-A53E-00A0C90C2091),
  142. , helpstring("Intermediate object for Request.Cookies")
  143. , odl
  144. , oleautomation
  145. , dual
  146. , hidden
  147. ]
  148. interface IReadCookie : IDispatch
  149. {
  150. // Item (r/o)
  151. [propget, id(0)]
  152. HRESULT Item([optional, in] VARIANT Var, [out, retval] VARIANT *pVariantReturn);
  153. // HasKeys (r/o)
  154. [propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary).")]
  155. HRESULT HasKeys([out, retval] VARIANT_BOOL *pfHasKeys);
  156. // Enumerator (r/o)
  157. [propget, id(-4), restricted]
  158. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  159. // Count (r/o)
  160. [propget, helpstring("Number of items in the cookie dictionary")]
  161. HRESULT Count([out, retval] int *cStrRet);
  162. // Key (r/o)
  163. [propget]
  164. HRESULT Key([in] VARIANT VarKey, [out, retval] VARIANT *pvar);
  165. };
  166. /*
  167. * IID_IWriteCookie
  168. * intermediate object returned by Response.Cookies
  169. */
  170. [
  171. uuid(D97A6DA0-A862-11cf-84AE-00A0C90C2BD8)
  172. , helpstring("Intermediate object for Response.Cookies")
  173. , odl
  174. , oleautomation
  175. , dual
  176. , hidden
  177. ]
  178. interface IWriteCookie : IDispatch
  179. {
  180. // Item (w/o)
  181. [propput, id(0)]
  182. HRESULT Item([optional, in] VARIANT key, [in] BSTR bstrValue);
  183. // Expires (w/o)
  184. [propput, helpstring("Expires the cookie at the specified date and time.")]
  185. HRESULT Expires([in] DATE dtExpires);
  186. // Domain (w/o)
  187. [propput, helpstring("Limits the cookie to the specified Domain.")]
  188. HRESULT Domain([in] BSTR bstrDomain);
  189. // Path (w/o)
  190. [propput, helpstring("Limits the cookie to the specified Path (defaults to Application path).")]
  191. HRESULT Path([in] BSTR bstrPath);
  192. // Secure (w/o)
  193. [propput, helpstring("Indicates whether the cookie is Secure.")]
  194. HRESULT Secure([in] VARIANT_BOOL fSecure);
  195. // HasKeys (r/o)
  196. [propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary).")]
  197. HRESULT HasKeys([out, retval] VARIANT_BOOL *pfHasKeys);
  198. // Enumerator (r/o)
  199. [propget, id(-4), restricted]
  200. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  201. }
  202. /*
  203. * IID_IResponse
  204. * 'interface' entries must have 'odl' attribute
  205. */
  206. [
  207. uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8)
  208. , odl
  209. , oleautomation
  210. , dual
  211. , hidden
  212. ]
  213. interface IResponse : IDispatch
  214. {
  215. //
  216. //
  217. //Properties
  218. //
  219. //
  220. // Buffer (r/w)
  221. [propget, helpstring("Indicates whether page output is sent immediately to the client or is held in a buffer until the server has finished processing the page.")]
  222. HRESULT Buffer([out, retval] VARIANT_BOOL* fIsBuffering);
  223. [propput]
  224. HRESULT Buffer([in] VARIANT_BOOL fIsBuffering);
  225. // ContentType (r/w)
  226. [propget, helpstring("Specifies the HTTP content type for the response.")]
  227. HRESULT ContentType([out, retval] BSTR *pbstrContentTypeRet);
  228. [propput]
  229. HRESULT ContentType([in] BSTR bstrContentType);
  230. // Expires (r/w)
  231. [propget, helpstring("Specifies the length of time (in minutes) before a page cached on a browser expires.")]
  232. HRESULT Expires([out, retval] VARIANT *pvarExpiresMinutesRet);
  233. [propput]
  234. HRESULT Expires([in] long lExpiresMinutes);
  235. // ExpiresAbsolute (r/w)
  236. [propget, helpstring("Specifies the date and time at which a page cached on a browser expires.")]
  237. HRESULT ExpiresAbsolute([out, retval] VARIANT *pvarExpiresRet);
  238. [propput]
  239. HRESULT ExpiresAbsolute([in] DATE dtExpires);
  240. [helpstring("Sets the value of cookies sent as part of the Response."), propget]
  241. HRESULT Cookies([out, retval] IRequestDictionary **ppCookies);
  242. // Status (r/w)
  243. [propget, helpstring("Specifies the value of the status line returned by the server. Status values are defined in the HTTP specification.")]
  244. HRESULT Status([out, retval] BSTR *pbstrStatusRet);
  245. [propput]
  246. HRESULT Status([in] BSTR bstrStatus);
  247. //
  248. //Methods
  249. //
  250. // Add
  251. [hidden]
  252. HRESULT Add([in] BSTR bstrHeaderValue, [in] BSTR bstrHeaderName);
  253. // AddHeader
  254. [helpstring("Adds an HTTP header with a specified value.")]
  255. HRESULT AddHeader([in] BSTR bstrHeaderName, [in] BSTR bstrHeaderValue);
  256. // AppendToLog
  257. [helpstring("Adds a string to the end of the Web server log entry for this Request.")]
  258. HRESULT AppendToLog([in] BSTR bstrLogEntry);
  259. // BinaryWrite
  260. [helpstring("Writes content without any character (Unicode to ANSI) conversion.")]
  261. HRESULT BinaryWrite([in] VARIANT varInput);
  262. // Clear
  263. [helpstring("Erases any buffered content, leaving the HTTP headers intact.")]
  264. HRESULT Clear(void);
  265. // End
  266. [helpstring("Causes Active Server Pages to stop processing and return any buffered output.")]
  267. HRESULT End(void);
  268. // Flush
  269. [helpstring("Sends buffered output immediately.")]
  270. HRESULT Flush(void);
  271. // Redirect
  272. [helpstring("Causes the browser to attempt to connect to a different URL.")]
  273. HRESULT Redirect([in] BSTR bstrURL);
  274. // Write
  275. [helpstring("Writes specified text to the current HTTP output.")]
  276. HRESULT Write([in] VARIANT varText);
  277. // WriteBlock
  278. [hidden]
  279. HRESULT WriteBlock([in] short iBlockNumber);
  280. // IsClientConnected
  281. [helpstring("A read-only property that indicates if the client has disconnected from the server.")]
  282. HRESULT IsClientConnected([out, retval] VARIANT_BOOL *pfIsClientConnected);
  283. // CharSet (r/w)
  284. [propget, helpstring("Appends the name of the character set (for example, ISO-LATIN-7) to the content-type header in the response object.")]
  285. HRESULT CharSet([out, retval] BSTR *pbstrCharSetRet);
  286. [propput]
  287. HRESULT CharSet([in] BSTR bstrCharSet);
  288. // Pics - Adds a pics Header
  289. [helpstring("Adds a value to the pics-label field of the HTTP header.")]
  290. HRESULT Pics( [in] BSTR bstrHeaderValue );
  291. // CacheControl (r/w)
  292. [propget, helpstring("Sets the Cache Control header. If set to Public, proxy servers can cache ASP output.")]
  293. HRESULT CacheControl([out, retval] BSTR *pbstrCacheControl);
  294. [propput]
  295. HRESULT CacheControl([in] BSTR bstrCacheControl);
  296. // Code page (r/w)
  297. [propget, helpstring("Determines the codepage that will be used to display dynamic content.")]
  298. HRESULT CodePage([out, retval] long *plvar );
  299. [propput]
  300. HRESULT CodePage( [in] long lvar );
  301. // LCID (r/w)
  302. [propget, helpstring("Determines the Locale ID that will be used to display dynamic content.")]
  303. HRESULT LCID([out, retval] long *plvar );
  304. [propput]
  305. HRESULT LCID( [in] long lvar );
  306. }
  307. /*
  308. * CLSID_Response
  309. *
  310. * The Response class
  311. */
  312. [
  313. uuid(46E19BA0-25DD-11D0-A55F-00A0C90C2091),
  314. , helpstring("Sends output to the client.")
  315. , noncreatable
  316. ]
  317. coclass Response
  318. {
  319. interface IResponse;
  320. }
  321. /*
  322. * IID_IVariantDictionary
  323. */
  324. [
  325. uuid(4a7deb90-b069-11d0-b373-00a0c90c2bd8)
  326. , helpstring("Dictionary for Variant collections.")
  327. , odl
  328. , oleautomation
  329. , dual
  330. , hidden
  331. ]
  332. interface IVariantDictionary : IDispatch
  333. {
  334. // Item (r/o)
  335. [propget, id(0)]
  336. HRESULT Item([in] VARIANT VarKey, [out, retval] VARIANT *pvar);
  337. [id(0), propput]
  338. HRESULT Item([in] VARIANT VarKey, [in] VARIANT var);
  339. [id(0), propputref]
  340. HRESULT Item([in] VARIANT VarKey, [in] VARIANT var);
  341. // Key (r/o)
  342. [propget]
  343. HRESULT Key([in] VARIANT VarKey, [out, retval] VARIANT *pvar);
  344. // Count (r/o)
  345. [propget, helpstring("Number of items in the dictionary of variants.")]
  346. HRESULT Count([out, retval] int *cStrRet);
  347. // Enumerator (r/o)
  348. [propget, id(-4), restricted]
  349. HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
  350. [helpstring("Deletes an item from the Contents collection.")]
  351. HRESULT Remove([in] VARIANT VarKey);
  352. [helpstring("Deletes all items from the Contents Collection.")]
  353. HRESULT RemoveAll();
  354. };
  355. // --------------------------------------------------------------------------
  356. //
  357. // IID_ISessionObject
  358. // 'interface' entries must have 'odl' attribute
  359. //
  360. // --------------------------------------------------------------------------
  361. [
  362. uuid(D97A6DA0-A865-11cf-83AF-00A0C90C2BD8)
  363. , odl
  364. , dual
  365. , oleautomation
  366. , hidden
  367. ]
  368. interface ISessionObject : IDispatch
  369. {
  370. //
  371. //Properties
  372. //
  373. // SessionID (r/o)
  374. [propget, helpstring("Returns a Session ID for this user.")]
  375. HRESULT SessionID([out,retval] BSTR *pbstrRet);
  376. // Value (r/w)
  377. [id(0), propget]
  378. HRESULT Value([in] BSTR bstrValue, [out, retval] VARIANT *pvar);
  379. [id(0), propput]
  380. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  381. [id(0), propputref]
  382. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  383. // Timeout (r/w)
  384. [propget, helpstring("Specifies the timeout period assigned to the Session object for this Application, in minutes.")]
  385. HRESULT Timeout([out, retval] long *plvar );
  386. [propput]
  387. HRESULT Timeout( [in] long lvar );
  388. //
  389. //Methods
  390. //
  391. [helpstring("Destroys a Session object and releases its resources.")]
  392. HRESULT Abandon();
  393. // Code page (r/w)
  394. [propget, helpstring("Determines the codepage that will be used to display dynamic content.")]
  395. HRESULT CodePage([out, retval] long *plvar );
  396. [propput]
  397. HRESULT CodePage( [in] long lvar );
  398. // LCID (r/w)
  399. [propget, helpstring("Determines the location identifier that will be used to display dynamic content.")]
  400. HRESULT LCID([out, retval] long *plvar );
  401. [propput]
  402. HRESULT LCID( [in] long lvar );
  403. // Static Objects (r/o)
  404. [propget, helpstring("Contains all of the objects created with the <OBJECT> tag within the scope of the Session object.")]
  405. HRESULT StaticObjects([out, retval] IVariantDictionary **ppTaggedObjects);
  406. // Contents (r/o)
  407. [propget, helpstring("Collection of all items that have been added to the Session through a script command.")]
  408. HRESULT Contents([out, retval] IVariantDictionary **ppProperties);
  409. }
  410. /*
  411. * CLSID_Session
  412. *
  413. * The Session class
  414. */
  415. [
  416. uuid(509F8F20-25DE-11D0-A55F-00A0C90C2091)
  417. , helpstring("Stores information needed for a particular user-session.")
  418. , noncreatable
  419. ]
  420. coclass Session
  421. {
  422. interface ISessionObject;
  423. }
  424. // --------------------------------------------------------------------------
  425. //
  426. // IID_IApplicationObject
  427. // 'interface' entries must have 'odl' attribute
  428. //
  429. // --------------------------------------------------------------------------
  430. [
  431. uuid(D97A6DA0-A866-11cf-83AE-10A0C90C2BD8)
  432. , odl
  433. , oleautomation
  434. , dual
  435. , hidden
  436. ]
  437. interface IApplicationObject : IDispatch
  438. {
  439. //
  440. //Properties
  441. //
  442. // Value (r/w)
  443. [id(0), propget]
  444. HRESULT Value([in] BSTR bstrValue, [out, retval] VARIANT *pvar);
  445. [id(0), propput]
  446. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  447. [id(0), propputref]
  448. HRESULT Value([in] BSTR bstrValue, [in] VARIANT var);
  449. //
  450. //Methods
  451. //
  452. // Lock
  453. [helpstring("Prevents other clients from modifying the variables stored in the Application object, ensuring that only one client at a time can alter or access the Application variables.")]
  454. HRESULT Lock();
  455. // Unlock
  456. [helpstring("Enables other clients to modify the variables stored in the Application object after it has been locked using the Lock method.")]
  457. HRESULT UnLock();
  458. // Static Objects (r/o)
  459. [propget, helpstring("A collection of all objects that have been added to the Application with the <OBJECT> tag.")]
  460. HRESULT StaticObjects([out, retval] IVariantDictionary **ppProperties);
  461. // Contents
  462. [propget, helpstring("Collection of all items that have been added to the Application through a script command.")]
  463. HRESULT Contents([out, retval] IVariantDictionary **ppProperties);
  464. }
  465. /*
  466. * CLSID_Application
  467. *
  468. * The Application class
  469. */
  470. [
  471. uuid(7C3BAF00-25DE-11D0-A55F-00A0C90C2091)
  472. , helpstring("Persistent collection for all users of an Application.")
  473. , noncreatable
  474. ]
  475. coclass Application
  476. {
  477. interface IApplicationObject;
  478. }
  479. /*
  480. * IID_IASPError
  481. *
  482. * intermediate object returned by Server.GetLastError
  483. */
  484. [
  485. uuid(F5A6893E-A0F5-11d1-8C4B-00C04FC324A4),
  486. , helpstring("Object describing an error condition.")
  487. , odl
  488. , oleautomation
  489. , dual
  490. , hidden
  491. ]
  492. interface IASPError : IDispatch
  493. {
  494. // ASPCode (r/o)
  495. [propget, helpstring("A string that contains an error code generated by IIS.")]
  496. HRESULT ASPCode([out, retval] BSTR *pbstrASPCode);
  497. // Number (r/o)
  498. [propget, helpstring("A long integer that contains the returned error code.")]
  499. HRESULT Number([out, retval] long *plNumber);
  500. // Source (r/o)
  501. [propget, helpstring("A string indicating if the error was generated by IIS, a scripting language, or a component.")]
  502. HRESULT Category([out, retval] BSTR *pbstrSource);
  503. // FileName (r/o)
  504. [propget, helpstring("A string that indicates the .asp file that generated the error.")]
  505. HRESULT File([out, retval] BSTR *pbstrFileName);
  506. // LineNumber (r/o)
  507. [propget, helpstring("A long integer indicating the number of the line within the .asp file that generated the error.")]
  508. HRESULT Line([out, retval] long *plLineNumber);
  509. // Description (r/o)
  510. [propget, helpstring("A string describing the error.")]
  511. HRESULT Description([out, retval] BSTR *pbstrDescription);
  512. // ASPDescription (r/o)
  513. [propget, helpstring("A string describing the error, returned by IIS.")]
  514. HRESULT ASPDescription([out, retval] BSTR *pbstrDescription);
  515. // Column (r/o)
  516. [propget, helpstring("A long integer indicating the column that the error occured in.")]
  517. HRESULT Column([out, retval] long *plColumn);
  518. // Source (r/o)
  519. [propget, helpstring("A string which is the text of the line in the .asp file that caused the error.")]
  520. HRESULT Source([out, retval] BSTR *pbstrLineText);
  521. }
  522. /*
  523. * IID_IServer
  524. * 'interface' entries must have 'odl' attribute
  525. */
  526. [
  527. uuid(D97A6DA0-A867-11cf-83AE-01A0C90C2BD8)
  528. , odl
  529. , oleautomation
  530. , dual
  531. , hidden
  532. ]
  533. interface IServer : IDispatch
  534. {
  535. //
  536. //
  537. //Properties
  538. //
  539. //
  540. // ScriptTimeout (r/w)
  541. [propget, helpstring("Specifies the maximum number of seconds that a script can run before the server terminates it.")]
  542. HRESULT ScriptTimeout([out, retval] long *plTimeoutSeconds );
  543. [propput]
  544. HRESULT ScriptTimeout([in] long lTimeoutSeconds );
  545. //
  546. //Methods
  547. //
  548. // CreateObject
  549. [helpstring("Creates an instance of a server component")]
  550. HRESULT CreateObject([in] BSTR bstrProgID, [out, retval] IDispatch **ppDispObject);
  551. // HTMLEncode
  552. [helpstring("Applies HTML encoding to a specified string")]
  553. HRESULT HTMLEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded);
  554. // MapPath
  555. [helpstring("Maps the specified relative or virtual path to the corresponding physical directory on the server.")]
  556. HRESULT MapPath([in] BSTR bstrLogicalPath, [out,retval] BSTR *pbstrPhysicalPath);
  557. // URLEncode
  558. [helpstring("Applies URL encoding rules, including escape characters, to a specified string.")]
  559. HRESULT URLEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded);
  560. // URLPathEncode
  561. [hidden]
  562. HRESULT URLPathEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded);
  563. // Execute
  564. [helpstring("Calls an .asp file and processes it as if it were part of the calling .asp.")]
  565. HRESULT Execute([in] BSTR bstrLogicalPath);
  566. // Transfer
  567. [helpstring("Sends the request from one .asp file, to a second .asp file.")]
  568. HRESULT Transfer([in] BSTR bstrLogicalPath);
  569. // GetLastError
  570. [helpstring("Returns an ASPError object describing the error condition that occurred.")]
  571. HRESULT GetLastError([out, retval] IASPError **ppASPErrorObject);
  572. }
  573. /*
  574. * CLSID_Server
  575. *
  576. * The Server class
  577. */
  578. [
  579. uuid(A506D160-25E0-11D0-A55F-00A0C90C2091)
  580. , helpstring("Provides access to utility functions.")
  581. , noncreatable
  582. ]
  583. coclass Server
  584. {
  585. interface IServer;
  586. }
  587. //
  588. // IID_IScriptingContext
  589. // 'interface' entries must have 'odl' attribute
  590. //
  591. [
  592. uuid(D97A6DA0-A868-11cf-83AE-00B0C90C2BD8)
  593. , helpstring("Active Server Page Scripting Context")
  594. , odl
  595. , oleautomation
  596. , dual
  597. , hidden
  598. ]
  599. interface IScriptingContext : IDispatch
  600. {
  601. //
  602. //Properties
  603. //
  604. // Request
  605. [propget, helpstring("Returns the Request object.")]
  606. HRESULT Request([out, retval] IRequest **ppRequest);
  607. // Response
  608. [propget, helpstring("Returns the Response object.")]
  609. HRESULT Response([out, retval] IResponse **ppResponse);
  610. // Server
  611. [propget, helpstring("Returns the Server object.")]
  612. HRESULT Server([out, retval] IServer **ppServer);
  613. // Session
  614. [propget, helpstring("Returns the Session object.")]
  615. HRESULT Session([out, retval] ISessionObject **ppSession);
  616. // Application
  617. [propget, helpstring("Returns the Application object.")]
  618. HRESULT Application([out, retval] IApplicationObject **ppApplication);
  619. }
  620. //
  621. // CLSID_ScriptingContext
  622. //
  623. [
  624. uuid(D97A6DA0-A868-11cf-83AE-11B0C90C2BD8)
  625. , helpstring("An obsolete object for passing the built-in objects to components.")
  626. , noncreatable
  627. ]
  628. coclass ScriptingContext
  629. {
  630. interface IScriptingContext;
  631. }
  632. }