/*++ 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 in the Cookie")] HRESULT Cookies( [out, retval] IIsaRequestDictionary **ppDictReturn ); // Form (r/o) // [propget, // helpstring("Collection of in the Form data")] HRESULT Form( [out, retval] IIsaRequestDictionary **ppDictReturn ); // QueryString (r/o) // [propget, // helpstring("Collection of 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 ***************************/