windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/cmp/asp/dena0000.odl

667 lines
16 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*===================================================================
Microsoft Denali
Microsoft Confidential.
Copyright 1996 Microsoft Corporation. All Rights Reserved.
Component: ODL
File: DENA0000.ODL
Neutral/English Denali Type Library
"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 1.0 Object Library")
, lcid(0x0000)
, version(1.0)
]
library ASPTypeLibrary
{
#ifdef WIN32
importlib("STDOLE2.TLB");
#else
importlib("STDOLE.TLB");
#endif
/*
* 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);
};
/*
* 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("Collection of query string values")]
HRESULT QueryString([out, retval] IRequestDictionary **ppDictReturn);
// Form (r/o)
[propget, helpstring("Collection of form elements")]
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("Collection 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)")]
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("Total number of bytes the client will return in the request body")]
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("Information from an HTTP client 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] boolean *pfHasKeys);
// Enumerator (r/o)
[propget, id(-4), restricted]
HRESULT _NewEnum([out, retval] IUnknown **ppEnumReturn);
};
/*
* 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] boolean fSecure);
// HasKeys (r/o)
[propget, helpstring("Indicates whether the cookie has keys (is a cookie dictionary)")]
HRESULT HasKeys([out, retval] boolean *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 buffered")]
HRESULT Buffer([out, retval] boolean* fIsBuffering);
[propput]
HRESULT Buffer([in] boolean fIsBuffering);
// ContentType (r/w)
[propget, helpstring("The HTTP content type")]
HRESULT ContentType([out, retval] BSTR *pbstrContentTypeRet);
[propput]
HRESULT ContentType([in] BSTR bstrContentType);
// Expires (r/w)
[propget, helpstring("The length of time in minutes until the Response expires")]
HRESULT Expires([out, retval] VARIANT *pvarExpiresMinutesRet);
[propput]
HRESULT Expires([in] long lExpiresMinutes);
// ExpiresAbsolute (r/w)
[propget, helpstring("The absolute date and time that the Response expires")]
HRESULT ExpiresAbsolute([out, retval] VARIANT *pvarExpiresRet);
[propput]
HRESULT ExpiresAbsolute([in] DATE dtExpires);
[helpstring("Collection of cookies sent as part of the Response (write only)"), propget]
HRESULT Cookies([out, retval] IRequestDictionary **ppCookies);
// Status (r/w)
[propget, helpstring("The HTTP server status line")]
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")]
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")]
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("Sends a '302 Redirect' status line")]
HRESULT Redirect([in] BSTR bstrURL);
// Write
[helpstring("Writes content with character (Unicode to ANSI) conversion")]
HRESULT Write([in] VARIANT varText);
// WriteBlock
[hidden]
HRESULT WriteBlock([in] short iBlockNumber);
// IsClientConnected
[helpstring("Is the client connection still valid")]
HRESULT IsClientConnected([out, retval] boolean *pfIsClientConnected);
// CharSet (r/w)
[propget, helpstring("The HTTP Character set header")]
HRESULT CharSet([out, retval] BSTR *pbstrCharSetRet);
[propput]
HRESULT CharSet([in] BSTR bstrCharSet);
// Pics - Adds a pics Header
[helpstring("Adds an HTTP pics header")]
HRESULT Pics( [in] BSTR bstrHeaderValue );
// CacheControl (r/w)
[propget, helpstring("The HTTP Cache-control header")]
HRESULT CacheControl([out, retval] BSTR *pbstrCacheControl);
[propput]
HRESULT CacheControl([in] BSTR bstrCacheControl);
}
/*
* CLSID_Response
*
* The Response class
*/
[
uuid(46E19BA0-25DD-11D0-A55F-00A0C90C2091),
, helpstring("Manipulates information for the HTTP client response")
, 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 Var, [out, retval] VARIANT *pvar);
// Name (r/o)
[propget]
HRESULT Name([in] VARIANT Var, [out, retval] BSTR *pbstrRet);
// 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_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("The length of time in minutes before session state is destroyed after non-use by an individual user")]
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("The code page used when writing text to, or reading text from, the browser.")]
HRESULT CodePage([out, retval] long *plvar );
[propput]
HRESULT CodePage( [in] long lvar );
// LCID (r/w)
[propget, helpstring("The LCID used when writing text to, or reading text from, the browser.")]
HRESULT LCID([out, retval] long *plvar );
[propput]
HRESULT LCID( [in] long lvar );
// Tagged Objects (r/o)
[propget, helpstring("Collection of tagged objects associated with session")]
HRESULT Objects([out, retval] IVariantDictionary **ppTaggedObjects);
// Properties (r/o)
[propget, helpstring("Collection of variants associated with Session")]
HRESULT Properties([out, retval] IVariantDictionary **ppProperties);
}
/*
* CLSID_Session
*
* The Session class
*/
[
uuid(509F8F20-25DE-11D0-A55F-00A0C90C2091)
, helpstring("Persistent collection for one user of an application")
, 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 Active Server Pages from modifying the Application object")]
HRESULT Lock();
// Unlock
[helpstring("Enables other Active Server Pages to modify the Application object")]
HRESULT UnLock();
// Properties (r/o)
[propget, helpstring("Collection of variants associated with application")]
HRESULT Properties([out, retval] IVariantDictionary **ppProperties);
// Properties (r/o)
[propget, helpstring("Collection of tagged objects associated with application")]
HRESULT Objects([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_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("The maximum length of time in seconds before a script is terminated")]
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);
}
/*
* CLSID_Server
*
* The Server class
*/
[
uuid(A506D160-25E0-11D0-A55F-00A0C90C2091)
, helpstring("Server-side processing 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("Active Server Page Scripting Context")
, noncreatable
]
coclass ScriptingContext
{
interface IScriptingContext;
}
}