//=================================================================== // Microsoft ASP (Active Server Pages) // // Copyright 1996-1999 Microsoft Corporation. All Rights Reserved. // // File: asp.idl // // Neutral/English ASP Interfaces // // "Neutral" language is considered to be English. We register // this under LCID of 0 so the lcid before "library" has to match. //=================================================================== //LIBID_Denali [ uuid(D97A6DA0-A85C-11cf-83AE-00A0C90C2BD8) , helpstring("Microsoft Active Server Pages Object Library") , lcid(0x0000) , version(3.0) ] library ASPTypeLibrary { importlib ("stdole2.tlb"); /* * IID_IStringList * intermediate object returned by the Request object */ [ uuid(D97A6DA0-A85D-11cf-83AE-00A0C90C2BD8) , helpstring("A string containing comma separated values") , odl , oleautomation , dual , hidden ] interface IStringList : IDispatch { // Item (default property) (r/o) [propget, id(0)] HRESULT Item([optional, in] VARIANT i, [out, retval] VARIANT *pVariantReturn); // Count (r/o) [propget, helpstring("Number of items in the list of strings")] HRESULT Count([out, retval] int *cStrRet); // Enumerator (r/o) [propget, id(-4), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn); }; /* * IID_IRequestDictionary * * QueryString, ServerVariables, Form, and Request.Cookies are all of this type. * Request.Item is not because it does not support an optional key or enumeration. */ [ uuid(D97A6DA0-A85F-11df-83AE-00A0C90C2BD8) , helpstring("Dictionary for Request collections") , odl , oleautomation , dual , hidden ] interface IRequestDictionary : IDispatch { // Item (r/o) [propget, id(0)] HRESULT Item([optional, in] VARIANT Var, [out, retval] VARIANT *pVariantReturn); // Enumerator (r/o) [propget, id(-4), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn); // Count (r/o) [propget, helpstring("Number of items in the dictionary of variants")] HRESULT Count([out, retval] int *cStrRet); // Key (r/o) [propget] HRESULT Key([in] VARIANT VarKey, [out, retval] VARIANT *pvar); }; /* * IID_IRequest * * The main (combined) collection */ [ uuid(D97A6DA0-A861-11cf-93AE-00A0C90C2BD8) , odl , oleautomation , dual , hidden ] interface IRequest : IDispatch { // Item (r/o) [propget, id(0)] HRESULT Item([in] BSTR bstrVar, [out, retval] IDispatch **ppObjReturn); // QueryString (r/o) [propget, helpstring("Retrieves the values of the variables in the HTTP query string.")] HRESULT QueryString([out, retval] IRequestDictionary **ppDictReturn); // Form (r/o) [propget, helpstring("Retrieves the values of form elements posted to the HTTP request body by a form using the POST method.")] HRESULT Form([out, retval] IRequestDictionary **ppDictReturn); // Body (compatibility hack for MSN) (r/o) [propget, hidden] HRESULT Body([out, retval] IRequestDictionary **ppDictReturn); // ServerVariables (r/o) [propget, helpstring("Retrieves the values of predetermined environment variables.")] HRESULT ServerVariables([out, retval] IRequestDictionary **ppDictReturn); // ClientCertificate (r/o) [propget, helpstring("Collection of client certificate fields (specified in the X.509 standard) issued by the client.")] HRESULT ClientCertificate([out, retval] IRequestDictionary **ppDictReturn); // Cookies (r/o) [propget, helpstring("Collection of cookies sent as part of the Request (read only).")] HRESULT Cookies([out, retval] IRequestDictionary **ppDictReturn); // BytesTotal (r/o) [propget, helpstring("Specifies the total number of bytes the client sent in the body of the request.")] HRESULT TotalBytes([out, retval] long *pcbTotal); // //Methods // // BinaryRead [helpstring("Reads data returned by the client in a POST request")] HRESULT BinaryRead([in, out] VARIANT *pvarCountToRead, [out, retval] VARIANT *pvarReturn); }; /* * CLSID_Request * * The Request class */ [ uuid(920c25d0-25d9-11d0-a55f-00a0c90c2091), , helpstring("Retrieves the values that the client browser passed to the server during an HTTP request.") , noncreatable ] coclass Request { interface IRequest; } /* * IID_IReadCookie * * intermediate object returned by Request.Cookies */ [ uuid(71EAF260-0CE0-11D0-A53E-00A0C90C2091), , helpstring("Intermediate object for Request.Cookies") , odl , oleautomation , dual , hidden ] interface IReadCookie : IDispatch { // Item (r/o) [propget, id(0)] HRESULT Item([optional, in] VARIANT Var, [out, retval] VARIANT *pVariantReturn); // HasKeys (r/o) [propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary).")] HRESULT HasKeys([out, retval] VARIANT_BOOL *pfHasKeys); // Enumerator (r/o) [propget, id(-4), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn); // Count (r/o) [propget, helpstring("Number of items in the cookie dictionary")] HRESULT Count([out, retval] int *cStrRet); // Key (r/o) [propget] HRESULT Key([in] VARIANT VarKey, [out, retval] VARIANT *pvar); }; /* * IID_IWriteCookie * intermediate object returned by Response.Cookies */ [ uuid(D97A6DA0-A862-11cf-84AE-00A0C90C2BD8) , helpstring("Intermediate object for Response.Cookies") , odl , oleautomation , dual , hidden ] interface IWriteCookie : IDispatch { // Item (w/o) [propput, id(0)] HRESULT Item([optional, in] VARIANT key, [in] BSTR bstrValue); // Expires (w/o) [propput, helpstring("Expires the cookie at the specified date and time.")] HRESULT Expires([in] DATE dtExpires); // Domain (w/o) [propput, helpstring("Limits the cookie to the specified Domain.")] HRESULT Domain([in] BSTR bstrDomain); // Path (w/o) [propput, helpstring("Limits the cookie to the specified Path (defaults to Application path).")] HRESULT Path([in] BSTR bstrPath); // Secure (w/o) [propput, helpstring("Indicates whether the cookie is Secure.")] HRESULT Secure([in] VARIANT_BOOL fSecure); // HasKeys (r/o) [propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary).")] HRESULT HasKeys([out, retval] VARIANT_BOOL *pfHasKeys); // Enumerator (r/o) [propget, id(-4), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn); } /* * IID_IResponse * 'interface' entries must have 'odl' attribute */ [ uuid(D97A6DA0-A864-11cf-83BE-00A0C90C2BD8) , odl , oleautomation , dual , hidden ] interface IResponse : IDispatch { // // //Properties // // // Buffer (r/w) [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.")] HRESULT Buffer([out, retval] VARIANT_BOOL* fIsBuffering); [propput] HRESULT Buffer([in] VARIANT_BOOL fIsBuffering); // ContentType (r/w) [propget, helpstring("Specifies the HTTP content type for the response.")] HRESULT ContentType([out, retval] BSTR *pbstrContentTypeRet); [propput] HRESULT ContentType([in] BSTR bstrContentType); // Expires (r/w) [propget, helpstring("Specifies the length of time (in minutes) before a page cached on a browser expires.")] HRESULT Expires([out, retval] VARIANT *pvarExpiresMinutesRet); [propput] HRESULT Expires([in] long lExpiresMinutes); // ExpiresAbsolute (r/w) [propget, helpstring("Specifies the date and time at which a page cached on a browser expires.")] HRESULT ExpiresAbsolute([out, retval] VARIANT *pvarExpiresRet); [propput] HRESULT ExpiresAbsolute([in] DATE dtExpires); [helpstring("Sets the value of cookies sent as part of the Response."), propget] HRESULT Cookies([out, retval] IRequestDictionary **ppCookies); // Status (r/w) [propget, helpstring("Specifies the value of the status line returned by the server. Status values are defined in the HTTP specification.")] HRESULT Status([out, retval] BSTR *pbstrStatusRet); [propput] HRESULT Status([in] BSTR bstrStatus); // //Methods // // Add [hidden] HRESULT Add([in] BSTR bstrHeaderValue, [in] BSTR bstrHeaderName); // AddHeader [helpstring("Adds an HTTP header with a specified value.")] HRESULT AddHeader([in] BSTR bstrHeaderName, [in] BSTR bstrHeaderValue); // AppendToLog [helpstring("Adds a string to the end of the Web server log entry for this Request.")] HRESULT AppendToLog([in] BSTR bstrLogEntry); // BinaryWrite [helpstring("Writes content without any character (Unicode to ANSI) conversion.")] HRESULT BinaryWrite([in] VARIANT varInput); // Clear [helpstring("Erases any buffered content, leaving the HTTP headers intact.")] HRESULT Clear(void); // End [helpstring("Causes Active Server Pages to stop processing and return any buffered output.")] HRESULT End(void); // Flush [helpstring("Sends buffered output immediately.")] HRESULT Flush(void); // Redirect [helpstring("Causes the browser to attempt to connect to a different URL.")] HRESULT Redirect([in] BSTR bstrURL); // Write [helpstring("Writes specified text to the current HTTP output.")] HRESULT Write([in] VARIANT varText); // WriteBlock [hidden] HRESULT WriteBlock([in] short iBlockNumber); // IsClientConnected [helpstring("A read-only property that indicates if the client has disconnected from the server.")] HRESULT IsClientConnected([out, retval] VARIANT_BOOL *pfIsClientConnected); // CharSet (r/w) [propget, helpstring("Appends the name of the character set (for example, ISO-LATIN-7) to the content-type header in the response object.")] HRESULT CharSet([out, retval] BSTR *pbstrCharSetRet); [propput] HRESULT CharSet([in] BSTR bstrCharSet); // Pics - Adds a pics Header [helpstring("Adds a value to the pics-label field of the HTTP header.")] HRESULT Pics( [in] BSTR bstrHeaderValue ); // CacheControl (r/w) [propget, helpstring("Sets the Cache Control header. If set to Public, proxy servers can cache ASP output.")] HRESULT CacheControl([out, retval] BSTR *pbstrCacheControl); [propput] HRESULT CacheControl([in] BSTR bstrCacheControl); // Code page (r/w) [propget, helpstring("Determines the codepage that will be used to display dynamic content.")] HRESULT CodePage([out, retval] long *plvar ); [propput] HRESULT CodePage( [in] long lvar ); // LCID (r/w) [propget, helpstring("Determines the Locale ID that will be used to display dynamic content.")] HRESULT LCID([out, retval] long *plvar ); [propput] HRESULT LCID( [in] long lvar ); } /* * CLSID_Response * * The Response class */ [ uuid(46E19BA0-25DD-11D0-A55F-00A0C90C2091), , helpstring("Sends output to the client.") , noncreatable ] coclass Response { interface IResponse; } /* * IID_IVariantDictionary */ [ uuid(4a7deb90-b069-11d0-b373-00a0c90c2bd8) , helpstring("Dictionary for Variant collections.") , odl , oleautomation , dual , hidden ] interface IVariantDictionary : IDispatch { // Item (r/o) [propget, id(0)] HRESULT Item([in] VARIANT VarKey, [out, retval] VARIANT *pvar); [id(0), propput] HRESULT Item([in] VARIANT VarKey, [in] VARIANT var); [id(0), propputref] HRESULT Item([in] VARIANT VarKey, [in] VARIANT var); // Key (r/o) [propget] HRESULT Key([in] VARIANT VarKey, [out, retval] VARIANT *pvar); // Count (r/o) [propget, helpstring("Number of items in the dictionary of variants.")] HRESULT Count([out, retval] int *cStrRet); // Enumerator (r/o) [propget, id(-4), restricted] HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn); [helpstring("Deletes an item from the Contents collection.")] HRESULT Remove([in] VARIANT VarKey); [helpstring("Deletes all items from the Contents Collection.")] HRESULT RemoveAll(); }; // -------------------------------------------------------------------------- // // IID_ISessionObject // 'interface' entries must have 'odl' attribute // // -------------------------------------------------------------------------- [ uuid(D97A6DA0-A865-11cf-83AF-00A0C90C2BD8) , odl , dual , oleautomation , hidden ] interface ISessionObject : IDispatch { // //Properties // // SessionID (r/o) [propget, helpstring("Returns a Session ID for this user.")] HRESULT SessionID([out,retval] BSTR *pbstrRet); // Value (r/w) [id(0), propget] HRESULT Value([in] BSTR bstrValue, [out, retval] VARIANT *pvar); [id(0), propput] HRESULT Value([in] BSTR bstrValue, [in] VARIANT var); [id(0), propputref] HRESULT Value([in] BSTR bstrValue, [in] VARIANT var); // Timeout (r/w) [propget, helpstring("Specifies the timeout period assigned to the Session object for this Application, in minutes.")] HRESULT Timeout([out, retval] long *plvar ); [propput] HRESULT Timeout( [in] long lvar ); // //Methods // [helpstring("Destroys a Session object and releases its resources.")] HRESULT Abandon(); // Code page (r/w) [propget, helpstring("Determines the codepage that will be used to display dynamic content.")] HRESULT CodePage([out, retval] long *plvar ); [propput] HRESULT CodePage( [in] long lvar ); // LCID (r/w) [propget, helpstring("Determines the location identifier that will be used to display dynamic content.")] HRESULT LCID([out, retval] long *plvar ); [propput] HRESULT LCID( [in] long lvar ); // Static Objects (r/o) [propget, helpstring("Contains all of the objects created with the tag within the scope of the Session object.")] HRESULT StaticObjects([out, retval] IVariantDictionary **ppTaggedObjects); // Contents (r/o) [propget, helpstring("Collection of all items that have been added to the Session through a script command.")] HRESULT Contents([out, retval] IVariantDictionary **ppProperties); } /* * CLSID_Session * * The Session class */ [ uuid(509F8F20-25DE-11D0-A55F-00A0C90C2091) , helpstring("Stores information needed for a particular user-session.") , noncreatable ] coclass Session { interface ISessionObject; } // -------------------------------------------------------------------------- // // IID_IApplicationObject // 'interface' entries must have 'odl' attribute // // -------------------------------------------------------------------------- [ uuid(D97A6DA0-A866-11cf-83AE-10A0C90C2BD8) , odl , oleautomation , dual , hidden ] interface IApplicationObject : IDispatch { // //Properties // // Value (r/w) [id(0), propget] HRESULT Value([in] BSTR bstrValue, [out, retval] VARIANT *pvar); [id(0), propput] HRESULT Value([in] BSTR bstrValue, [in] VARIANT var); [id(0), propputref] HRESULT Value([in] BSTR bstrValue, [in] VARIANT var); // //Methods // // Lock [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.")] HRESULT Lock(); // Unlock [helpstring("Enables other clients to modify the variables stored in the Application object after it has been locked using the Lock method.")] HRESULT UnLock(); // Static Objects (r/o) [propget, helpstring("A collection of all objects that have been added to the Application with the tag.")] HRESULT StaticObjects([out, retval] IVariantDictionary **ppProperties); // Contents [propget, helpstring("Collection of all items that have been added to the Application through a script command.")] HRESULT Contents([out, retval] IVariantDictionary **ppProperties); } /* * CLSID_Application * * The Application class */ [ uuid(7C3BAF00-25DE-11D0-A55F-00A0C90C2091) , helpstring("Persistent collection for all users of an Application.") , noncreatable ] coclass Application { interface IApplicationObject; } /* * IID_IASPError * * intermediate object returned by Server.GetLastError */ [ uuid(F5A6893E-A0F5-11d1-8C4B-00C04FC324A4), , helpstring("Object describing an error condition.") , odl , oleautomation , dual , hidden ] interface IASPError : IDispatch { // ASPCode (r/o) [propget, helpstring("A string that contains an error code generated by IIS.")] HRESULT ASPCode([out, retval] BSTR *pbstrASPCode); // Number (r/o) [propget, helpstring("A long integer that contains the returned error code.")] HRESULT Number([out, retval] long *plNumber); // Source (r/o) [propget, helpstring("A string indicating if the error was generated by IIS, a scripting language, or a component.")] HRESULT Category([out, retval] BSTR *pbstrSource); // FileName (r/o) [propget, helpstring("A string that indicates the .asp file that generated the error.")] HRESULT File([out, retval] BSTR *pbstrFileName); // LineNumber (r/o) [propget, helpstring("A long integer indicating the number of the line within the .asp file that generated the error.")] HRESULT Line([out, retval] long *plLineNumber); // Description (r/o) [propget, helpstring("A string describing the error.")] HRESULT Description([out, retval] BSTR *pbstrDescription); // ASPDescription (r/o) [propget, helpstring("A string describing the error, returned by IIS.")] HRESULT ASPDescription([out, retval] BSTR *pbstrDescription); // Column (r/o) [propget, helpstring("A long integer indicating the column that the error occured in.")] HRESULT Column([out, retval] long *plColumn); // Source (r/o) [propget, helpstring("A string which is the text of the line in the .asp file that caused the error.")] HRESULT Source([out, retval] BSTR *pbstrLineText); } /* * IID_IServer * 'interface' entries must have 'odl' attribute */ [ uuid(D97A6DA0-A867-11cf-83AE-01A0C90C2BD8) , odl , oleautomation , dual , hidden ] interface IServer : IDispatch { // // //Properties // // // ScriptTimeout (r/w) [propget, helpstring("Specifies the maximum number of seconds that a script can run before the server terminates it.")] HRESULT ScriptTimeout([out, retval] long *plTimeoutSeconds ); [propput] HRESULT ScriptTimeout([in] long lTimeoutSeconds ); // //Methods // // CreateObject [helpstring("Creates an instance of a server component")] HRESULT CreateObject([in] BSTR bstrProgID, [out, retval] IDispatch **ppDispObject); // HTMLEncode [helpstring("Applies HTML encoding to a specified string")] HRESULT HTMLEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded); // MapPath [helpstring("Maps the specified relative or virtual path to the corresponding physical directory on the server.")] HRESULT MapPath([in] BSTR bstrLogicalPath, [out,retval] BSTR *pbstrPhysicalPath); // URLEncode [helpstring("Applies URL encoding rules, including escape characters, to a specified string.")] HRESULT URLEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded); // URLPathEncode [hidden] HRESULT URLPathEncode([in] BSTR bstrIn, [out, retval] BSTR *pbstrEncoded); // Execute [helpstring("Calls an .asp file and processes it as if it were part of the calling .asp.")] HRESULT Execute([in] BSTR bstrLogicalPath); // Transfer [helpstring("Sends the request from one .asp file, to a second .asp file.")] HRESULT Transfer([in] BSTR bstrLogicalPath); // GetLastError [helpstring("Returns an ASPError object describing the error condition that occurred.")] HRESULT GetLastError([out, retval] IASPError **ppASPErrorObject); } /* * CLSID_Server * * The Server class */ [ uuid(A506D160-25E0-11D0-A55F-00A0C90C2091) , helpstring("Provides access to utility functions.") , noncreatable ] coclass Server { interface IServer; } // // IID_IScriptingContext // 'interface' entries must have 'odl' attribute // [ uuid(D97A6DA0-A868-11cf-83AE-00B0C90C2BD8) , helpstring("Active Server Page Scripting Context") , odl , oleautomation , dual , hidden ] interface IScriptingContext : IDispatch { // //Properties // // Request [propget, helpstring("Returns the Request object.")] HRESULT Request([out, retval] IRequest **ppRequest); // Response [propget, helpstring("Returns the Response object.")] HRESULT Response([out, retval] IResponse **ppResponse); // Server [propget, helpstring("Returns the Server object.")] HRESULT Server([out, retval] IServer **ppServer); // Session [propget, helpstring("Returns the Session object.")] HRESULT Session([out, retval] ISessionObject **ppSession); // Application [propget, helpstring("Returns the Application object.")] HRESULT Application([out, retval] IApplicationObject **ppApplication); } // // CLSID_ScriptingContext // [ uuid(D97A6DA0-A868-11cf-83AE-11B0C90C2BD8) , helpstring("An obsolete object for passing the built-in objects to components.") , noncreatable ] coclass ScriptingContext { interface IScriptingContext; } }