214 lines
5.3 KiB
Plaintext
214 lines
5.3 KiB
Plaintext
/*++
|
||
Copyright (c) 1995-1996 Microsoft Corp.
|
||
|
||
Module:
|
||
|
||
sobj.idl
|
||
|
||
Abstract:
|
||
IDL file for Context Propery of IIS Server Objects.
|
||
This file will be processed by MIDL to generate the
|
||
sobj.tlb (type library) and marshalling code.
|
||
|
||
Author:
|
||
Murali R. Krishnan ( MuraliK) 4-Nov-1996
|
||
|
||
History:
|
||
|
||
--*/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/*
|
||
IIsaRequestDictionary
|
||
- Interface for Internet Server Application ResquestDictionary object.
|
||
*/
|
||
[
|
||
object,
|
||
uuid(8eb03382-3670-11d0-9797-00a0c922e73e),
|
||
helpstring("IIsaRequestDictionary Interface"),
|
||
pointer_default(unique)
|
||
]
|
||
|
||
interface IIsaRequestDictionary : IUnknown
|
||
{
|
||
import "oaidl.idl";
|
||
|
||
// Gets an item from the dictionary
|
||
HRESULT Item(
|
||
[in, string] LPCSTR pszName,
|
||
[in] unsigned long cbSize,
|
||
[out, size_is(cbSize)] unsigned char* pchBuf,
|
||
[out] unsigned long * pcbSize
|
||
);
|
||
|
||
// Enumerate over the items in the dictionary - restricted
|
||
HRESULT _Enum( [out, retval] IUnknown ** ppunkEnumReturn);
|
||
|
||
}; // interface IIsaRequestDictionary
|
||
|
||
|
||
/*
|
||
IIsaRequest - Interface for Internet Server Application Request object
|
||
*/
|
||
|
||
[
|
||
object,
|
||
uuid(8eb03380-3670-11d0-9797-00a0c922e73e),
|
||
helpstring("IIsaRequest Interface"),
|
||
pointer_default(unique)
|
||
]
|
||
interface IIsaRequest : IUnknown
|
||
{
|
||
import "oaidl.idl";
|
||
|
||
|
||
// GetServerVariable() will become a dictional IRequestDictionary provider
|
||
HRESULT GetServerVariable(
|
||
[in] LPCSTR pszName,
|
||
[in] unsigned long cbSize,
|
||
[out, size_is(cbSize)] unsigned char* pchBuf,
|
||
[out] unsigned long * pcbSize
|
||
);
|
||
|
||
// private interfaces - for test purposes
|
||
HRESULT SetHttpRequest( [in] unsigned long dwpvHttpRequest);
|
||
|
||
// ClientCertificate()
|
||
// "Gives the Client Certificate(data) for use with Capi2"
|
||
HRESULT ClientCertificate(
|
||
[in] DWORD cbCertBuffer,
|
||
[out, size_is(cbCertBuffer)] unsigned char * pbCertBuffer,
|
||
[out] DWORD * pcbRequiredCertBuffer,
|
||
[out] DWORD * pdwFlags
|
||
);
|
||
|
||
// ServerCertificate()
|
||
// "Gives the Server Certificate(data) for use with Capi2"
|
||
HRESULT ServerCertificate(
|
||
[in] DWORD cbCertBuffer,
|
||
[out, size_is(cbCertBuffer)] unsigned char * pbCertBuffer,
|
||
[out] DWORD * pcbRequiredCertBuffer,
|
||
[out] DWORD * pdwFlags
|
||
);
|
||
|
||
// Cookies (r/o)
|
||
// [propget,
|
||
// helpstring("Collection of <name,value> in the Cookie")]
|
||
HRESULT Cookies(
|
||
[out, retval] IIsaRequestDictionary **ppDictReturn
|
||
);
|
||
|
||
// Form (r/o)
|
||
// [propget,
|
||
// helpstring("Collection of <name,value> in the Form data")]
|
||
HRESULT Form(
|
||
[out, retval] IIsaRequestDictionary **ppDictReturn
|
||
);
|
||
|
||
// QueryString (r/o)
|
||
// [propget,
|
||
// helpstring("Collection of <name,value> in the QueryString")]
|
||
HRESULT QueryString(
|
||
[out, retval] IIsaRequestDictionary **ppDictReturn
|
||
);
|
||
|
||
// ServerVariables (r/o)
|
||
// [propget,
|
||
// helpstring("Collection of predetermined environment variables")]
|
||
HRESULT ServerVariables(
|
||
[out, retval] IIsaRequestDictionary **ppDictReturn
|
||
);
|
||
|
||
}; // interface IIsaRequest
|
||
|
||
|
||
|
||
/*
|
||
IIsaResponse - Interface for Internet Server Application Response object
|
||
*/
|
||
[
|
||
object,
|
||
uuid(8eb03381-3670-11d0-9797-00a0c922e73e),
|
||
helpstring("IIsaResponse Interface"),
|
||
pointer_default(unique)
|
||
]
|
||
|
||
interface IIsaResponse : IUnknown
|
||
{
|
||
import "oaidl.idl";
|
||
|
||
// SendHeader() performs a synchronous Send operation.
|
||
HRESULT SendHeader(
|
||
[unique, in, string ] unsigned char * pszStatus,
|
||
[unique, in, string ] unsigned char * pszHeader
|
||
);
|
||
|
||
// send a redirect to the given url (sends '302' message)
|
||
HRESULT Redirect( [unique, in, string] unsigned char * pszURL);
|
||
|
||
// reprocesses supplied URL and sends it to client
|
||
HRESULT SendURL( [unique, in, string] unsigned char * pszURL);
|
||
|
||
// WriteClient() performs a synchronous Write operation.
|
||
HRESULT WriteClient(
|
||
[in] unsigned long cbSize,
|
||
[in, size_is(cbSize)] unsigned char* pBuf,
|
||
[out] unsigned long * pcbReturn
|
||
);
|
||
|
||
// private interfaces - for test purposes
|
||
HRESULT SetHttpRequest( [in] unsigned long dwpvHttpRequest);
|
||
}; // interface IIsaResponse
|
||
|
||
|
||
|
||
[
|
||
uuid(8eb033a0-3670-11d0-9797-00a0c922e73e),
|
||
version(1.0),
|
||
helpstring("IIS Server Objects 1.0 Type Library")
|
||
]
|
||
|
||
|
||
library ISOBJLib
|
||
{
|
||
importlib("stdole2.tlb");
|
||
|
||
|
||
[
|
||
uuid(8eb03391-3670-11d0-9797-00a0c922e73e),
|
||
helpstring("IIS ISA Request Class")
|
||
]
|
||
coclass IsaRequest
|
||
{
|
||
[default] interface IIsaRequest;
|
||
};
|
||
|
||
[
|
||
uuid(8eb03392-3670-11d0-9797-00a0c922e73e),
|
||
helpstring("IIS ISA Response Class")
|
||
]
|
||
coclass IsaResponse
|
||
{
|
||
[default] interface IIsaResponse;
|
||
};
|
||
|
||
/*
|
||
[
|
||
uuid(8eb03393-3670-11d0-9797-00a0c922e73e),
|
||
helpstring("IIS ISA Request Dictionary Class")
|
||
]
|
||
coclass IsaRequestDictionary
|
||
{
|
||
[default] interface IIsaRequestDictionary;
|
||
};
|
||
*/
|
||
|
||
};
|
||
|
||
|
||
/********************* End of File ***************************/
|