mirror of https://github.com/tongzx/nt5src
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
666 lines
16 KiB
/*===================================================================
|
|
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;
|
|
}
|
|
}
|