2025-04-27 07:49:33 -04:00

214 lines
5.3 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
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 ***************************/