windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/cmp/aspidl/asp.idl
2020-09-26 16:20:57 +08:00

768 lines
21 KiB
Plaintext

//===================================================================
// 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 <OBJECT> 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 <OBJECT> 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;
}
}