Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 440
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef ___asptlb_h__
     14 #define ___asptlb_h__
     15 
     16 #ifndef __IStringList_FWD_DEFINED__
     17 #define __IStringList_FWD_DEFINED__
     18 typedef struct IStringList IStringList;
     19 #endif
     20 
     21 #ifndef __IRequestDictionary_FWD_DEFINED__
     22 #define __IRequestDictionary_FWD_DEFINED__
     23 typedef struct IRequestDictionary IRequestDictionary;
     24 #endif
     25 
     26 #ifndef __IRequest_FWD_DEFINED__
     27 #define __IRequest_FWD_DEFINED__
     28 typedef struct IRequest IRequest;
     29 #endif
     30 
     31 #ifndef __Request_FWD_DEFINED__
     32 #define __Request_FWD_DEFINED__
     33 #ifdef __cplusplus
     34 typedef class Request Request;
     35 #else
     36 typedef struct Request Request;
     37 #endif
     38 #endif
     39 
     40 #ifndef __IReadCookie_FWD_DEFINED__
     41 #define __IReadCookie_FWD_DEFINED__
     42 typedef struct IReadCookie IReadCookie;
     43 #endif
     44 
     45 #ifndef __IWriteCookie_FWD_DEFINED__
     46 #define __IWriteCookie_FWD_DEFINED__
     47 typedef struct IWriteCookie IWriteCookie;
     48 #endif
     49 
     50 #ifndef __IResponse_FWD_DEFINED__
     51 #define __IResponse_FWD_DEFINED__
     52 typedef struct IResponse IResponse;
     53 #endif
     54 
     55 #ifndef __Response_FWD_DEFINED__
     56 #define __Response_FWD_DEFINED__
     57 #ifdef __cplusplus
     58 typedef class Response Response;
     59 #else
     60 typedef struct Response Response;
     61 #endif
     62 #endif
     63 
     64 #ifndef __IVariantDictionary_FWD_DEFINED__
     65 #define __IVariantDictionary_FWD_DEFINED__
     66 typedef struct IVariantDictionary IVariantDictionary;
     67 #endif
     68 
     69 #ifndef __ISessionObject_FWD_DEFINED__
     70 #define __ISessionObject_FWD_DEFINED__
     71 typedef struct ISessionObject ISessionObject;
     72 #endif
     73 
     74 #ifndef __Session_FWD_DEFINED__
     75 #define __Session_FWD_DEFINED__
     76 #ifdef __cplusplus
     77 typedef class Session Session;
     78 #else
     79 typedef struct Session Session;
     80 #endif
     81 #endif
     82 
     83 #ifndef __IApplicationObject_FWD_DEFINED__
     84 #define __IApplicationObject_FWD_DEFINED__
     85 typedef struct IApplicationObject IApplicationObject;
     86 #endif
     87 
     88 #ifndef __Application_FWD_DEFINED__
     89 #define __Application_FWD_DEFINED__
     90 #ifdef __cplusplus
     91 typedef class Application Application;
     92 #else
     93 typedef struct Application Application;
     94 #endif
     95 #endif
     96 
     97 #ifndef __IASPError_FWD_DEFINED__
     98 #define __IASPError_FWD_DEFINED__
     99 typedef struct IASPError IASPError;
    100 #endif
    101 
    102 #ifndef __IServer_FWD_DEFINED__
    103 #define __IServer_FWD_DEFINED__
    104 typedef struct IServer IServer;
    105 #endif
    106 
    107 #ifndef __Server_FWD_DEFINED__
    108 #define __Server_FWD_DEFINED__
    109 #ifdef __cplusplus
    110 typedef class Server Server;
    111 #else
    112 typedef struct Server Server;
    113 #endif
    114 #endif
    115 
    116 #ifndef __IScriptingContext_FWD_DEFINED__
    117 #define __IScriptingContext_FWD_DEFINED__
    118 typedef struct IScriptingContext IScriptingContext;
    119 #endif
    120 
    121 #ifndef __ScriptingContext_FWD_DEFINED__
    122 #define __ScriptingContext_FWD_DEFINED__
    123 #ifdef __cplusplus
    124 typedef class ScriptingContext ScriptingContext;
    125 #else
    126 typedef struct ScriptingContext ScriptingContext;
    127 #endif
    128 #endif
    129 
    130 #ifdef __cplusplus
    131 extern "C"{
    132 #endif
    133 
    134 #ifndef __MIDL_user_allocate_free_DEFINED__
    135 #define __MIDL_user_allocate_free_DEFINED__
    136   void *__RPC_API MIDL_user_allocate(size_t);
    137   void __RPC_API MIDL_user_free(void *);
    138 #endif
    139 
    140 #ifndef __ASPTypeLibrary_LIBRARY_DEFINED__
    141 #define __ASPTypeLibrary_LIBRARY_DEFINED__
    142   DEFINE_GUID(LIBID_ASPTypeLibrary,0xD97A6DA0,0xA85C,0x11cf,0x83,0xAE,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    143 
    144 #ifndef __IStringList_INTERFACE_DEFINED__
    145 #define __IStringList_INTERFACE_DEFINED__
    146   DEFINE_GUID(IID_IStringList,0xD97A6DA0,0xA85D,0x11cf,0x83,0xAE,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    147 #if defined(__cplusplus) && !defined(CINTERFACE)
    148   struct IStringList : public IDispatch {
    149   public:
    150     virtual HRESULT WINAPI get_Item(VARIANT i,VARIANT *pVariantReturn) = 0;
    151     virtual HRESULT WINAPI get_Count(int *cStrRet) = 0;
    152     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumReturn) = 0;
    153   };
    154 #else
    155   typedef struct IStringListVtbl {
    156     BEGIN_INTERFACE
    157       HRESULT (WINAPI *QueryInterface)(IStringList *This,REFIID riid,void **ppvObject);
    158       ULONG (WINAPI *AddRef)(IStringList *This);
    159       ULONG (WINAPI *Release)(IStringList *This);
    160       HRESULT (WINAPI *GetTypeInfoCount)(IStringList *This,UINT *pctinfo);
    161       HRESULT (WINAPI *GetTypeInfo)(IStringList *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    162       HRESULT (WINAPI *GetIDsOfNames)(IStringList *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    163       HRESULT (WINAPI *Invoke)(IStringList *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    164       HRESULT (WINAPI *get_Item)(IStringList *This,VARIANT i,VARIANT *pVariantReturn);
    165       HRESULT (WINAPI *get_Count)(IStringList *This,int *cStrRet);
    166       HRESULT (WINAPI *get__NewEnum)(IStringList *This,IUnknown **ppEnumReturn);
    167     END_INTERFACE
    168   } IStringListVtbl;
    169   struct IStringList {
    170     CONST_VTBL struct IStringListVtbl *lpVtbl;
    171   };
    172 #ifdef COBJMACROS
    173 #define IStringList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    174 #define IStringList_AddRef(This) (This)->lpVtbl->AddRef(This)
    175 #define IStringList_Release(This) (This)->lpVtbl->Release(This)
    176 #define IStringList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    177 #define IStringList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    178 #define IStringList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    179 #define IStringList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    180 #define IStringList_get_Item(This,i,pVariantReturn) (This)->lpVtbl->get_Item(This,i,pVariantReturn)
    181 #define IStringList_get_Count(This,cStrRet) (This)->lpVtbl->get_Count(This,cStrRet)
    182 #define IStringList_get__NewEnum(This,ppEnumReturn) (This)->lpVtbl->get__NewEnum(This,ppEnumReturn)
    183 #endif
    184 #endif
    185   HRESULT WINAPI IStringList_get_Item_Proxy(IStringList *This,VARIANT i,VARIANT *pVariantReturn);
    186   void __RPC_STUB IStringList_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    187   HRESULT WINAPI IStringList_get_Count_Proxy(IStringList *This,int *cStrRet);
    188   void __RPC_STUB IStringList_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    189   HRESULT WINAPI IStringList_get__NewEnum_Proxy(IStringList *This,IUnknown **ppEnumReturn);
    190   void __RPC_STUB IStringList_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    191 #endif
    192 
    193 #ifndef __IRequestDictionary_INTERFACE_DEFINED__
    194 #define __IRequestDictionary_INTERFACE_DEFINED__
    195   DEFINE_GUID(IID_IRequestDictionary,0xD97A6DA0,0xA85F,0x11df,0x83,0xAE,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    196 #if defined(__cplusplus) && !defined(CINTERFACE)
    197   struct IRequestDictionary : public IDispatch {
    198   public:
    199     virtual HRESULT WINAPI get_Item(VARIANT Var,VARIANT *pVariantReturn) = 0;
    200     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumReturn) = 0;
    201     virtual HRESULT WINAPI get_Count(int *cStrRet) = 0;
    202     virtual HRESULT WINAPI get_Key(VARIANT VarKey,VARIANT *pvar) = 0;
    203   };
    204 #else
    205   typedef struct IRequestDictionaryVtbl {
    206     BEGIN_INTERFACE
    207       HRESULT (WINAPI *QueryInterface)(IRequestDictionary *This,REFIID riid,void **ppvObject);
    208       ULONG (WINAPI *AddRef)(IRequestDictionary *This);
    209       ULONG (WINAPI *Release)(IRequestDictionary *This);
    210       HRESULT (WINAPI *GetTypeInfoCount)(IRequestDictionary *This,UINT *pctinfo);
    211       HRESULT (WINAPI *GetTypeInfo)(IRequestDictionary *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    212       HRESULT (WINAPI *GetIDsOfNames)(IRequestDictionary *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    213       HRESULT (WINAPI *Invoke)(IRequestDictionary *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    214       HRESULT (WINAPI *get_Item)(IRequestDictionary *This,VARIANT Var,VARIANT *pVariantReturn);
    215       HRESULT (WINAPI *get__NewEnum)(IRequestDictionary *This,IUnknown **ppEnumReturn);
    216       HRESULT (WINAPI *get_Count)(IRequestDictionary *This,int *cStrRet);
    217       HRESULT (WINAPI *get_Key)(IRequestDictionary *This,VARIANT VarKey,VARIANT *pvar);
    218     END_INTERFACE
    219   } IRequestDictionaryVtbl;
    220   struct IRequestDictionary {
    221     CONST_VTBL struct IRequestDictionaryVtbl *lpVtbl;
    222   };
    223 #ifdef COBJMACROS
    224 #define IRequestDictionary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    225 #define IRequestDictionary_AddRef(This) (This)->lpVtbl->AddRef(This)
    226 #define IRequestDictionary_Release(This) (This)->lpVtbl->Release(This)
    227 #define IRequestDictionary_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    228 #define IRequestDictionary_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    229 #define IRequestDictionary_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    230 #define IRequestDictionary_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    231 #define IRequestDictionary_get_Item(This,Var,pVariantReturn) (This)->lpVtbl->get_Item(This,Var,pVariantReturn)
    232 #define IRequestDictionary_get__NewEnum(This,ppEnumReturn) (This)->lpVtbl->get__NewEnum(This,ppEnumReturn)
    233 #define IRequestDictionary_get_Count(This,cStrRet) (This)->lpVtbl->get_Count(This,cStrRet)
    234 #define IRequestDictionary_get_Key(This,VarKey,pvar) (This)->lpVtbl->get_Key(This,VarKey,pvar)
    235 #endif
    236 #endif
    237   HRESULT WINAPI IRequestDictionary_get_Item_Proxy(IRequestDictionary *This,VARIANT Var,VARIANT *pVariantReturn);
    238   void __RPC_STUB IRequestDictionary_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    239   HRESULT WINAPI IRequestDictionary_get__NewEnum_Proxy(IRequestDictionary *This,IUnknown **ppEnumReturn);
    240   void __RPC_STUB IRequestDictionary_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    241   HRESULT WINAPI IRequestDictionary_get_Count_Proxy(IRequestDictionary *This,int *cStrRet);
    242   void __RPC_STUB IRequestDictionary_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    243   HRESULT WINAPI IRequestDictionary_get_Key_Proxy(IRequestDictionary *This,VARIANT VarKey,VARIANT *pvar);
    244   void __RPC_STUB IRequestDictionary_get_Key_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    245 #endif
    246 
    247 #ifndef __IRequest_INTERFACE_DEFINED__
    248 #define __IRequest_INTERFACE_DEFINED__
    249   DEFINE_GUID(IID_IRequest,0xD97A6DA0,0xA861,0x11cf,0x93,0xAE,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    250 #if defined(__cplusplus) && !defined(CINTERFACE)
    251   struct IRequest : public IDispatch {
    252   public:
    253     virtual HRESULT WINAPI get_Item(BSTR bstrVar,IDispatch **ppObjReturn) = 0;
    254     virtual HRESULT WINAPI get_QueryString(IRequestDictionary **ppDictReturn) = 0;
    255     virtual HRESULT WINAPI get_Form(IRequestDictionary **ppDictReturn) = 0;
    256     virtual HRESULT WINAPI get_Body(IRequestDictionary **ppDictReturn) = 0;
    257     virtual HRESULT WINAPI get_ServerVariables(IRequestDictionary **ppDictReturn) = 0;
    258     virtual HRESULT WINAPI get_ClientCertificate(IRequestDictionary **ppDictReturn) = 0;
    259     virtual HRESULT WINAPI get_Cookies(IRequestDictionary **ppDictReturn) = 0;
    260     virtual HRESULT WINAPI get_TotalBytes(__LONG32 *pcbTotal) = 0;
    261     virtual HRESULT WINAPI BinaryRead(VARIANT *pvarCountToRead,VARIANT *pvarReturn) = 0;
    262   };
    263 #else
    264   typedef struct IRequestVtbl {
    265     BEGIN_INTERFACE
    266       HRESULT (WINAPI *QueryInterface)(IRequest *This,REFIID riid,void **ppvObject);
    267       ULONG (WINAPI *AddRef)(IRequest *This);
    268       ULONG (WINAPI *Release)(IRequest *This);
    269       HRESULT (WINAPI *GetTypeInfoCount)(IRequest *This,UINT *pctinfo);
    270       HRESULT (WINAPI *GetTypeInfo)(IRequest *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    271       HRESULT (WINAPI *GetIDsOfNames)(IRequest *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    272       HRESULT (WINAPI *Invoke)(IRequest *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    273       HRESULT (WINAPI *get_Item)(IRequest *This,BSTR bstrVar,IDispatch **ppObjReturn);
    274       HRESULT (WINAPI *get_QueryString)(IRequest *This,IRequestDictionary **ppDictReturn);
    275       HRESULT (WINAPI *get_Form)(IRequest *This,IRequestDictionary **ppDictReturn);
    276       HRESULT (WINAPI *get_Body)(IRequest *This,IRequestDictionary **ppDictReturn);
    277       HRESULT (WINAPI *get_ServerVariables)(IRequest *This,IRequestDictionary **ppDictReturn);
    278       HRESULT (WINAPI *get_ClientCertificate)(IRequest *This,IRequestDictionary **ppDictReturn);
    279       HRESULT (WINAPI *get_Cookies)(IRequest *This,IRequestDictionary **ppDictReturn);
    280       HRESULT (WINAPI *get_TotalBytes)(IRequest *This,__LONG32 *pcbTotal);
    281       HRESULT (WINAPI *BinaryRead)(IRequest *This,VARIANT *pvarCountToRead,VARIANT *pvarReturn);
    282     END_INTERFACE
    283   } IRequestVtbl;
    284   struct IRequest {
    285     CONST_VTBL struct IRequestVtbl *lpVtbl;
    286   };
    287 #ifdef COBJMACROS
    288 #define IRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    289 #define IRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
    290 #define IRequest_Release(This) (This)->lpVtbl->Release(This)
    291 #define IRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    292 #define IRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    293 #define IRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    294 #define IRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    295 #define IRequest_get_Item(This,bstrVar,ppObjReturn) (This)->lpVtbl->get_Item(This,bstrVar,ppObjReturn)
    296 #define IRequest_get_QueryString(This,ppDictReturn) (This)->lpVtbl->get_QueryString(This,ppDictReturn)
    297 #define IRequest_get_Form(This,ppDictReturn) (This)->lpVtbl->get_Form(This,ppDictReturn)
    298 #define IRequest_get_Body(This,ppDictReturn) (This)->lpVtbl->get_Body(This,ppDictReturn)
    299 #define IRequest_get_ServerVariables(This,ppDictReturn) (This)->lpVtbl->get_ServerVariables(This,ppDictReturn)
    300 #define IRequest_get_ClientCertificate(This,ppDictReturn) (This)->lpVtbl->get_ClientCertificate(This,ppDictReturn)
    301 #define IRequest_get_Cookies(This,ppDictReturn) (This)->lpVtbl->get_Cookies(This,ppDictReturn)
    302 #define IRequest_get_TotalBytes(This,pcbTotal) (This)->lpVtbl->get_TotalBytes(This,pcbTotal)
    303 #define IRequest_BinaryRead(This,pvarCountToRead,pvarReturn) (This)->lpVtbl->BinaryRead(This,pvarCountToRead,pvarReturn)
    304 #endif
    305 #endif
    306   HRESULT WINAPI IRequest_get_Item_Proxy(IRequest *This,BSTR bstrVar,IDispatch **ppObjReturn);
    307   void __RPC_STUB IRequest_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    308   HRESULT WINAPI IRequest_get_QueryString_Proxy(IRequest *This,IRequestDictionary **ppDictReturn);
    309   void __RPC_STUB IRequest_get_QueryString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    310   HRESULT WINAPI IRequest_get_Form_Proxy(IRequest *This,IRequestDictionary **ppDictReturn);
    311   void __RPC_STUB IRequest_get_Form_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    312   HRESULT WINAPI IRequest_get_Body_Proxy(IRequest *This,IRequestDictionary **ppDictReturn);
    313   void __RPC_STUB IRequest_get_Body_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    314   HRESULT WINAPI IRequest_get_ServerVariables_Proxy(IRequest *This,IRequestDictionary **ppDictReturn);
    315   void __RPC_STUB IRequest_get_ServerVariables_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    316   HRESULT WINAPI IRequest_get_ClientCertificate_Proxy(IRequest *This,IRequestDictionary **ppDictReturn);
    317   void __RPC_STUB IRequest_get_ClientCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    318   HRESULT WINAPI IRequest_get_Cookies_Proxy(IRequest *This,IRequestDictionary **ppDictReturn);
    319   void __RPC_STUB IRequest_get_Cookies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    320   HRESULT WINAPI IRequest_get_TotalBytes_Proxy(IRequest *This,__LONG32 *pcbTotal);
    321   void __RPC_STUB IRequest_get_TotalBytes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    322   HRESULT WINAPI IRequest_BinaryRead_Proxy(IRequest *This,VARIANT *pvarCountToRead,VARIANT *pvarReturn);
    323   void __RPC_STUB IRequest_BinaryRead_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    324 #endif
    325 
    326   DEFINE_GUID(CLSID_Request,0x920c25d0,0x25d9,0x11d0,0xa5,0x5f,0x00,0xa0,0xc9,0x0c,0x20,0x91);
    327 #ifdef __cplusplus
    328   class Request;
    329 #endif
    330 
    331 #ifndef __IReadCookie_INTERFACE_DEFINED__
    332 #define __IReadCookie_INTERFACE_DEFINED__
    333   DEFINE_GUID(IID_IReadCookie,0x71EAF260,0x0CE0,0x11D0,0xA5,0x3E,0x00,0xA0,0xC9,0x0C,0x20,0x91);
    334 #if defined(__cplusplus) && !defined(CINTERFACE)
    335   struct IReadCookie : public IDispatch {
    336   public:
    337     virtual HRESULT WINAPI get_Item(VARIANT Var,VARIANT *pVariantReturn) = 0;
    338     virtual HRESULT WINAPI get_HasKeys(VARIANT_BOOL *pfHasKeys) = 0;
    339     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumReturn) = 0;
    340     virtual HRESULT WINAPI get_Count(int *cStrRet) = 0;
    341     virtual HRESULT WINAPI get_Key(VARIANT VarKey,VARIANT *pvar) = 0;
    342   };
    343 #else
    344   typedef struct IReadCookieVtbl {
    345     BEGIN_INTERFACE
    346       HRESULT (WINAPI *QueryInterface)(IReadCookie *This,REFIID riid,void **ppvObject);
    347       ULONG (WINAPI *AddRef)(IReadCookie *This);
    348       ULONG (WINAPI *Release)(IReadCookie *This);
    349       HRESULT (WINAPI *GetTypeInfoCount)(IReadCookie *This,UINT *pctinfo);
    350       HRESULT (WINAPI *GetTypeInfo)(IReadCookie *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    351       HRESULT (WINAPI *GetIDsOfNames)(IReadCookie *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    352       HRESULT (WINAPI *Invoke)(IReadCookie *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    353       HRESULT (WINAPI *get_Item)(IReadCookie *This,VARIANT Var,VARIANT *pVariantReturn);
    354       HRESULT (WINAPI *get_HasKeys)(IReadCookie *This,VARIANT_BOOL *pfHasKeys);
    355       HRESULT (WINAPI *get__NewEnum)(IReadCookie *This,IUnknown **ppEnumReturn);
    356       HRESULT (WINAPI *get_Count)(IReadCookie *This,int *cStrRet);
    357       HRESULT (WINAPI *get_Key)(IReadCookie *This,VARIANT VarKey,VARIANT *pvar);
    358     END_INTERFACE
    359   } IReadCookieVtbl;
    360   struct IReadCookie {
    361     CONST_VTBL struct IReadCookieVtbl *lpVtbl;
    362   };
    363 #ifdef COBJMACROS
    364 #define IReadCookie_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    365 #define IReadCookie_AddRef(This) (This)->lpVtbl->AddRef(This)
    366 #define IReadCookie_Release(This) (This)->lpVtbl->Release(This)
    367 #define IReadCookie_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    368 #define IReadCookie_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    369 #define IReadCookie_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    370 #define IReadCookie_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    371 #define IReadCookie_get_Item(This,Var,pVariantReturn) (This)->lpVtbl->get_Item(This,Var,pVariantReturn)
    372 #define IReadCookie_get_HasKeys(This,pfHasKeys) (This)->lpVtbl->get_HasKeys(This,pfHasKeys)
    373 #define IReadCookie_get__NewEnum(This,ppEnumReturn) (This)->lpVtbl->get__NewEnum(This,ppEnumReturn)
    374 #define IReadCookie_get_Count(This,cStrRet) (This)->lpVtbl->get_Count(This,cStrRet)
    375 #define IReadCookie_get_Key(This,VarKey,pvar) (This)->lpVtbl->get_Key(This,VarKey,pvar)
    376 #endif
    377 #endif
    378   HRESULT WINAPI IReadCookie_get_Item_Proxy(IReadCookie *This,VARIANT Var,VARIANT *pVariantReturn);
    379   void __RPC_STUB IReadCookie_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    380   HRESULT WINAPI IReadCookie_get_HasKeys_Proxy(IReadCookie *This,VARIANT_BOOL *pfHasKeys);
    381   void __RPC_STUB IReadCookie_get_HasKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    382   HRESULT WINAPI IReadCookie_get__NewEnum_Proxy(IReadCookie *This,IUnknown **ppEnumReturn);
    383   void __RPC_STUB IReadCookie_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    384   HRESULT WINAPI IReadCookie_get_Count_Proxy(IReadCookie *This,int *cStrRet);
    385   void __RPC_STUB IReadCookie_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    386   HRESULT WINAPI IReadCookie_get_Key_Proxy(IReadCookie *This,VARIANT VarKey,VARIANT *pvar);
    387   void __RPC_STUB IReadCookie_get_Key_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    388 #endif
    389 
    390 #ifndef __IWriteCookie_INTERFACE_DEFINED__
    391 #define __IWriteCookie_INTERFACE_DEFINED__
    392   DEFINE_GUID(IID_IWriteCookie,0xD97A6DA0,0xA862,0x11cf,0x84,0xAE,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    393 #if defined(__cplusplus) && !defined(CINTERFACE)
    394   struct IWriteCookie : public IDispatch {
    395   public:
    396     virtual HRESULT WINAPI put_Item(VARIANT key,BSTR bstrValue) = 0;
    397     virtual HRESULT WINAPI put_Expires(DATE dtExpires) = 0;
    398     virtual HRESULT WINAPI put_Domain(BSTR bstrDomain) = 0;
    399     virtual HRESULT WINAPI put_Path(BSTR bstrPath) = 0;
    400     virtual HRESULT WINAPI put_Secure(VARIANT_BOOL fSecure) = 0;
    401     virtual HRESULT WINAPI get_HasKeys(VARIANT_BOOL *pfHasKeys) = 0;
    402     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumReturn) = 0;
    403   };
    404 #else
    405   typedef struct IWriteCookieVtbl {
    406     BEGIN_INTERFACE
    407       HRESULT (WINAPI *QueryInterface)(IWriteCookie *This,REFIID riid,void **ppvObject);
    408       ULONG (WINAPI *AddRef)(IWriteCookie *This);
    409       ULONG (WINAPI *Release)(IWriteCookie *This);
    410       HRESULT (WINAPI *GetTypeInfoCount)(IWriteCookie *This,UINT *pctinfo);
    411       HRESULT (WINAPI *GetTypeInfo)(IWriteCookie *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    412       HRESULT (WINAPI *GetIDsOfNames)(IWriteCookie *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    413       HRESULT (WINAPI *Invoke)(IWriteCookie *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    414       HRESULT (WINAPI *put_Item)(IWriteCookie *This,VARIANT key,BSTR bstrValue);
    415       HRESULT (WINAPI *put_Expires)(IWriteCookie *This,DATE dtExpires);
    416       HRESULT (WINAPI *put_Domain)(IWriteCookie *This,BSTR bstrDomain);
    417       HRESULT (WINAPI *put_Path)(IWriteCookie *This,BSTR bstrPath);
    418       HRESULT (WINAPI *put_Secure)(IWriteCookie *This,VARIANT_BOOL fSecure);
    419       HRESULT (WINAPI *get_HasKeys)(IWriteCookie *This,VARIANT_BOOL *pfHasKeys);
    420       HRESULT (WINAPI *get__NewEnum)(IWriteCookie *This,IUnknown **ppEnumReturn);
    421     END_INTERFACE
    422   } IWriteCookieVtbl;
    423   struct IWriteCookie {
    424     CONST_VTBL struct IWriteCookieVtbl *lpVtbl;
    425   };
    426 #ifdef COBJMACROS
    427 #define IWriteCookie_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    428 #define IWriteCookie_AddRef(This) (This)->lpVtbl->AddRef(This)
    429 #define IWriteCookie_Release(This) (This)->lpVtbl->Release(This)
    430 #define IWriteCookie_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    431 #define IWriteCookie_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    432 #define IWriteCookie_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    433 #define IWriteCookie_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    434 #define IWriteCookie_put_Item(This,key,bstrValue) (This)->lpVtbl->put_Item(This,key,bstrValue)
    435 #define IWriteCookie_put_Expires(This,dtExpires) (This)->lpVtbl->put_Expires(This,dtExpires)
    436 #define IWriteCookie_put_Domain(This,bstrDomain) (This)->lpVtbl->put_Domain(This,bstrDomain)
    437 #define IWriteCookie_put_Path(This,bstrPath) (This)->lpVtbl->put_Path(This,bstrPath)
    438 #define IWriteCookie_put_Secure(This,fSecure) (This)->lpVtbl->put_Secure(This,fSecure)
    439 #define IWriteCookie_get_HasKeys(This,pfHasKeys) (This)->lpVtbl->get_HasKeys(This,pfHasKeys)
    440 #define IWriteCookie_get__NewEnum(This,ppEnumReturn) (This)->lpVtbl->get__NewEnum(This,ppEnumReturn)
    441 #endif
    442 #endif
    443   HRESULT WINAPI IWriteCookie_put_Item_Proxy(IWriteCookie *This,VARIANT key,BSTR bstrValue);
    444   void __RPC_STUB IWriteCookie_put_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    445   HRESULT WINAPI IWriteCookie_put_Expires_Proxy(IWriteCookie *This,DATE dtExpires);
    446   void __RPC_STUB IWriteCookie_put_Expires_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    447   HRESULT WINAPI IWriteCookie_put_Domain_Proxy(IWriteCookie *This,BSTR bstrDomain);
    448   void __RPC_STUB IWriteCookie_put_Domain_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    449   HRESULT WINAPI IWriteCookie_put_Path_Proxy(IWriteCookie *This,BSTR bstrPath);
    450   void __RPC_STUB IWriteCookie_put_Path_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    451   HRESULT WINAPI IWriteCookie_put_Secure_Proxy(IWriteCookie *This,VARIANT_BOOL fSecure);
    452   void __RPC_STUB IWriteCookie_put_Secure_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    453   HRESULT WINAPI IWriteCookie_get_HasKeys_Proxy(IWriteCookie *This,VARIANT_BOOL *pfHasKeys);
    454   void __RPC_STUB IWriteCookie_get_HasKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    455   HRESULT WINAPI IWriteCookie_get__NewEnum_Proxy(IWriteCookie *This,IUnknown **ppEnumReturn);
    456   void __RPC_STUB IWriteCookie_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    457 #endif
    458 
    459 #ifndef __IResponse_INTERFACE_DEFINED__
    460 #define __IResponse_INTERFACE_DEFINED__
    461   DEFINE_GUID(IID_IResponse,0xD97A6DA0,0xA864,0x11cf,0x83,0xBE,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    462 #if defined(__cplusplus) && !defined(CINTERFACE)
    463   struct IResponse : public IDispatch {
    464   public:
    465     virtual HRESULT WINAPI get_Buffer(VARIANT_BOOL *fIsBuffering) = 0;
    466     virtual HRESULT WINAPI put_Buffer(VARIANT_BOOL fIsBuffering) = 0;
    467     virtual HRESULT WINAPI get_ContentType(BSTR *pbstrContentTypeRet) = 0;
    468     virtual HRESULT WINAPI put_ContentType(BSTR bstrContentType) = 0;
    469     virtual HRESULT WINAPI get_Expires(VARIANT *pvarExpiresMinutesRet) = 0;
    470     virtual HRESULT WINAPI put_Expires(__LONG32 lExpiresMinutes) = 0;
    471     virtual HRESULT WINAPI get_ExpiresAbsolute(VARIANT *pvarExpiresRet) = 0;
    472     virtual HRESULT WINAPI put_ExpiresAbsolute(DATE dtExpires) = 0;
    473     virtual HRESULT WINAPI get_Cookies(IRequestDictionary **ppCookies) = 0;
    474     virtual HRESULT WINAPI get_Status(BSTR *pbstrStatusRet) = 0;
    475     virtual HRESULT WINAPI put_Status(BSTR bstrStatus) = 0;
    476     virtual HRESULT WINAPI Add(BSTR bstrHeaderValue,BSTR bstrHeaderName) = 0;
    477     virtual HRESULT WINAPI AddHeader(BSTR bstrHeaderName,BSTR bstrHeaderValue) = 0;
    478     virtual HRESULT WINAPI AppendToLog(BSTR bstrLogEntry) = 0;
    479     virtual HRESULT WINAPI BinaryWrite(VARIANT varInput) = 0;
    480     virtual HRESULT WINAPI Clear(void) = 0;
    481     virtual HRESULT WINAPI End(void) = 0;
    482     virtual HRESULT WINAPI Flush(void) = 0;
    483     virtual HRESULT WINAPI Redirect(BSTR bstrURL) = 0;
    484     virtual HRESULT WINAPI Write(VARIANT varText) = 0;
    485     virtual HRESULT WINAPI WriteBlock(short iBlockNumber) = 0;
    486     virtual HRESULT WINAPI IsClientConnected(VARIANT_BOOL *pfIsClientConnected) = 0;
    487     virtual HRESULT WINAPI get_CharSet(BSTR *pbstrCharSetRet) = 0;
    488     virtual HRESULT WINAPI put_CharSet(BSTR bstrCharSet) = 0;
    489     virtual HRESULT WINAPI Pics(BSTR bstrHeaderValue) = 0;
    490     virtual HRESULT WINAPI get_CacheControl(BSTR *pbstrCacheControl) = 0;
    491     virtual HRESULT WINAPI put_CacheControl(BSTR bstrCacheControl) = 0;
    492   };
    493 #else
    494   typedef struct IResponseVtbl {
    495     BEGIN_INTERFACE
    496       HRESULT (WINAPI *QueryInterface)(IResponse *This,REFIID riid,void **ppvObject);
    497       ULONG (WINAPI *AddRef)(IResponse *This);
    498       ULONG (WINAPI *Release)(IResponse *This);
    499       HRESULT (WINAPI *GetTypeInfoCount)(IResponse *This,UINT *pctinfo);
    500       HRESULT (WINAPI *GetTypeInfo)(IResponse *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    501       HRESULT (WINAPI *GetIDsOfNames)(IResponse *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    502       HRESULT (WINAPI *Invoke)(IResponse *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    503       HRESULT (WINAPI *get_Buffer)(IResponse *This,VARIANT_BOOL *fIsBuffering);
    504       HRESULT (WINAPI *put_Buffer)(IResponse *This,VARIANT_BOOL fIsBuffering);
    505       HRESULT (WINAPI *get_ContentType)(IResponse *This,BSTR *pbstrContentTypeRet);
    506       HRESULT (WINAPI *put_ContentType)(IResponse *This,BSTR bstrContentType);
    507       HRESULT (WINAPI *get_Expires)(IResponse *This,VARIANT *pvarExpiresMinutesRet);
    508       HRESULT (WINAPI *put_Expires)(IResponse *This,__LONG32 lExpiresMinutes);
    509       HRESULT (WINAPI *get_ExpiresAbsolute)(IResponse *This,VARIANT *pvarExpiresRet);
    510       HRESULT (WINAPI *put_ExpiresAbsolute)(IResponse *This,DATE dtExpires);
    511       HRESULT (WINAPI *get_Cookies)(IResponse *This,IRequestDictionary **ppCookies);
    512       HRESULT (WINAPI *get_Status)(IResponse *This,BSTR *pbstrStatusRet);
    513       HRESULT (WINAPI *put_Status)(IResponse *This,BSTR bstrStatus);
    514       HRESULT (WINAPI *Add)(IResponse *This,BSTR bstrHeaderValue,BSTR bstrHeaderName);
    515       HRESULT (WINAPI *AddHeader)(IResponse *This,BSTR bstrHeaderName,BSTR bstrHeaderValue);
    516       HRESULT (WINAPI *AppendToLog)(IResponse *This,BSTR bstrLogEntry);
    517       HRESULT (WINAPI *BinaryWrite)(IResponse *This,VARIANT varInput);
    518       HRESULT (WINAPI *Clear)(IResponse *This);
    519       HRESULT (WINAPI *End)(IResponse *This);
    520       HRESULT (WINAPI *Flush)(IResponse *This);
    521       HRESULT (WINAPI *Redirect)(IResponse *This,BSTR bstrURL);
    522       HRESULT (WINAPI *Write)(IResponse *This,VARIANT varText);
    523       HRESULT (WINAPI *WriteBlock)(IResponse *This,short iBlockNumber);
    524       HRESULT (WINAPI *IsClientConnected)(IResponse *This,VARIANT_BOOL *pfIsClientConnected);
    525       HRESULT (WINAPI *get_CharSet)(IResponse *This,BSTR *pbstrCharSetRet);
    526       HRESULT (WINAPI *put_CharSet)(IResponse *This,BSTR bstrCharSet);
    527       HRESULT (WINAPI *Pics)(IResponse *This,BSTR bstrHeaderValue);
    528       HRESULT (WINAPI *get_CacheControl)(IResponse *This,BSTR *pbstrCacheControl);
    529       HRESULT (WINAPI *put_CacheControl)(IResponse *This,BSTR bstrCacheControl);
    530     END_INTERFACE
    531   } IResponseVtbl;
    532   struct IResponse {
    533     CONST_VTBL struct IResponseVtbl *lpVtbl;
    534   };
    535 #ifdef COBJMACROS
    536 #define IResponse_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    537 #define IResponse_AddRef(This) (This)->lpVtbl->AddRef(This)
    538 #define IResponse_Release(This) (This)->lpVtbl->Release(This)
    539 #define IResponse_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    540 #define IResponse_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    541 #define IResponse_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    542 #define IResponse_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    543 #define IResponse_get_Buffer(This,fIsBuffering) (This)->lpVtbl->get_Buffer(This,fIsBuffering)
    544 #define IResponse_put_Buffer(This,fIsBuffering) (This)->lpVtbl->put_Buffer(This,fIsBuffering)
    545 #define IResponse_get_ContentType(This,pbstrContentTypeRet) (This)->lpVtbl->get_ContentType(This,pbstrContentTypeRet)
    546 #define IResponse_put_ContentType(This,bstrContentType) (This)->lpVtbl->put_ContentType(This,bstrContentType)
    547 #define IResponse_get_Expires(This,pvarExpiresMinutesRet) (This)->lpVtbl->get_Expires(This,pvarExpiresMinutesRet)
    548 #define IResponse_put_Expires(This,lExpiresMinutes) (This)->lpVtbl->put_Expires(This,lExpiresMinutes)
    549 #define IResponse_get_ExpiresAbsolute(This,pvarExpiresRet) (This)->lpVtbl->get_ExpiresAbsolute(This,pvarExpiresRet)
    550 #define IResponse_put_ExpiresAbsolute(This,dtExpires) (This)->lpVtbl->put_ExpiresAbsolute(This,dtExpires)
    551 #define IResponse_get_Cookies(This,ppCookies) (This)->lpVtbl->get_Cookies(This,ppCookies)
    552 #define IResponse_get_Status(This,pbstrStatusRet) (This)->lpVtbl->get_Status(This,pbstrStatusRet)
    553 #define IResponse_put_Status(This,bstrStatus) (This)->lpVtbl->put_Status(This,bstrStatus)
    554 #define IResponse_Add(This,bstrHeaderValue,bstrHeaderName) (This)->lpVtbl->Add(This,bstrHeaderValue,bstrHeaderName)
    555 #define IResponse_AddHeader(This,bstrHeaderName,bstrHeaderValue) (This)->lpVtbl->AddHeader(This,bstrHeaderName,bstrHeaderValue)
    556 #define IResponse_AppendToLog(This,bstrLogEntry) (This)->lpVtbl->AppendToLog(This,bstrLogEntry)
    557 #define IResponse_BinaryWrite(This,varInput) (This)->lpVtbl->BinaryWrite(This,varInput)
    558 #define IResponse_Clear(This) (This)->lpVtbl->Clear(This)
    559 #define IResponse_End(This) (This)->lpVtbl->End(This)
    560 #define IResponse_Flush(This) (This)->lpVtbl->Flush(This)
    561 #define IResponse_Redirect(This,bstrURL) (This)->lpVtbl->Redirect(This,bstrURL)
    562 #define IResponse_Write(This,varText) (This)->lpVtbl->Write(This,varText)
    563 #define IResponse_WriteBlock(This,iBlockNumber) (This)->lpVtbl->WriteBlock(This,iBlockNumber)
    564 #define IResponse_IsClientConnected(This,pfIsClientConnected) (This)->lpVtbl->IsClientConnected(This,pfIsClientConnected)
    565 #define IResponse_get_CharSet(This,pbstrCharSetRet) (This)->lpVtbl->get_CharSet(This,pbstrCharSetRet)
    566 #define IResponse_put_CharSet(This,bstrCharSet) (This)->lpVtbl->put_CharSet(This,bstrCharSet)
    567 #define IResponse_Pics(This,bstrHeaderValue) (This)->lpVtbl->Pics(This,bstrHeaderValue)
    568 #define IResponse_get_CacheControl(This,pbstrCacheControl) (This)->lpVtbl->get_CacheControl(This,pbstrCacheControl)
    569 #define IResponse_put_CacheControl(This,bstrCacheControl) (This)->lpVtbl->put_CacheControl(This,bstrCacheControl)
    570 #endif
    571 #endif
    572   HRESULT WINAPI IResponse_get_Buffer_Proxy(IResponse *This,VARIANT_BOOL *fIsBuffering);
    573   void __RPC_STUB IResponse_get_Buffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    574   HRESULT WINAPI IResponse_put_Buffer_Proxy(IResponse *This,VARIANT_BOOL fIsBuffering);
    575   void __RPC_STUB IResponse_put_Buffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    576   HRESULT WINAPI IResponse_get_ContentType_Proxy(IResponse *This,BSTR *pbstrContentTypeRet);
    577   void __RPC_STUB IResponse_get_ContentType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    578   HRESULT WINAPI IResponse_put_ContentType_Proxy(IResponse *This,BSTR bstrContentType);
    579   void __RPC_STUB IResponse_put_ContentType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    580   HRESULT WINAPI IResponse_get_Expires_Proxy(IResponse *This,VARIANT *pvarExpiresMinutesRet);
    581   void __RPC_STUB IResponse_get_Expires_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    582   HRESULT WINAPI IResponse_put_Expires_Proxy(IResponse *This,__LONG32 lExpiresMinutes);
    583   void __RPC_STUB IResponse_put_Expires_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    584   HRESULT WINAPI IResponse_get_ExpiresAbsolute_Proxy(IResponse *This,VARIANT *pvarExpiresRet);
    585   void __RPC_STUB IResponse_get_ExpiresAbsolute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    586   HRESULT WINAPI IResponse_put_ExpiresAbsolute_Proxy(IResponse *This,DATE dtExpires);
    587   void __RPC_STUB IResponse_put_ExpiresAbsolute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    588   HRESULT WINAPI IResponse_get_Cookies_Proxy(IResponse *This,IRequestDictionary **ppCookies);
    589   void __RPC_STUB IResponse_get_Cookies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    590   HRESULT WINAPI IResponse_get_Status_Proxy(IResponse *This,BSTR *pbstrStatusRet);
    591   void __RPC_STUB IResponse_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    592   HRESULT WINAPI IResponse_put_Status_Proxy(IResponse *This,BSTR bstrStatus);
    593   void __RPC_STUB IResponse_put_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    594   HRESULT WINAPI IResponse_Add_Proxy(IResponse *This,BSTR bstrHeaderValue,BSTR bstrHeaderName);
    595   void __RPC_STUB IResponse_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    596   HRESULT WINAPI IResponse_AddHeader_Proxy(IResponse *This,BSTR bstrHeaderName,BSTR bstrHeaderValue);
    597   void __RPC_STUB IResponse_AddHeader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    598   HRESULT WINAPI IResponse_AppendToLog_Proxy(IResponse *This,BSTR bstrLogEntry);
    599   void __RPC_STUB IResponse_AppendToLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    600   HRESULT WINAPI IResponse_BinaryWrite_Proxy(IResponse *This,VARIANT varInput);
    601   void __RPC_STUB IResponse_BinaryWrite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    602   HRESULT WINAPI IResponse_Clear_Proxy(IResponse *This);
    603   void __RPC_STUB IResponse_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    604   HRESULT WINAPI IResponse_End_Proxy(IResponse *This);
    605   void __RPC_STUB IResponse_End_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    606   HRESULT WINAPI IResponse_Flush_Proxy(IResponse *This);
    607   void __RPC_STUB IResponse_Flush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    608   HRESULT WINAPI IResponse_Redirect_Proxy(IResponse *This,BSTR bstrURL);
    609   void __RPC_STUB IResponse_Redirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    610   HRESULT WINAPI IResponse_Write_Proxy(IResponse *This,VARIANT varText);
    611   void __RPC_STUB IResponse_Write_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    612   HRESULT WINAPI IResponse_WriteBlock_Proxy(IResponse *This,short iBlockNumber);
    613   void __RPC_STUB IResponse_WriteBlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    614   HRESULT WINAPI IResponse_IsClientConnected_Proxy(IResponse *This,VARIANT_BOOL *pfIsClientConnected);
    615   void __RPC_STUB IResponse_IsClientConnected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    616   HRESULT WINAPI IResponse_get_CharSet_Proxy(IResponse *This,BSTR *pbstrCharSetRet);
    617   void __RPC_STUB IResponse_get_CharSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    618   HRESULT WINAPI IResponse_put_CharSet_Proxy(IResponse *This,BSTR bstrCharSet);
    619   void __RPC_STUB IResponse_put_CharSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    620   HRESULT WINAPI IResponse_Pics_Proxy(IResponse *This,BSTR bstrHeaderValue);
    621   void __RPC_STUB IResponse_Pics_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    622   HRESULT WINAPI IResponse_get_CacheControl_Proxy(IResponse *This,BSTR *pbstrCacheControl);
    623   void __RPC_STUB IResponse_get_CacheControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    624   HRESULT WINAPI IResponse_put_CacheControl_Proxy(IResponse *This,BSTR bstrCacheControl);
    625   void __RPC_STUB IResponse_put_CacheControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    626 #endif
    627 
    628   DEFINE_GUID(CLSID_Response,0x46E19BA0,0x25DD,0x11D0,0xA5,0x5F,0x00,0xA0,0xC9,0x0C,0x20,0x91);
    629 #ifdef __cplusplus
    630   class Response;
    631 #endif
    632 
    633 #ifndef __IVariantDictionary_INTERFACE_DEFINED__
    634 #define __IVariantDictionary_INTERFACE_DEFINED__
    635   DEFINE_GUID(IID_IVariantDictionary,0x4a7deb90,0xb069,0x11d0,0xb3,0x73,0x00,0xa0,0xc9,0x0c,0x2b,0xd8);
    636 #if defined(__cplusplus) && !defined(CINTERFACE)
    637   struct IVariantDictionary : public IDispatch {
    638   public:
    639     virtual HRESULT WINAPI get_Item(VARIANT VarKey,VARIANT *pvar) = 0;
    640     virtual HRESULT WINAPI put_Item(VARIANT VarKey,VARIANT var) = 0;
    641     virtual HRESULT WINAPI putref_Item(VARIANT VarKey,VARIANT var) = 0;
    642     virtual HRESULT WINAPI get_Key(VARIANT VarKey,VARIANT *pvar) = 0;
    643     virtual HRESULT WINAPI get_Count(int *cStrRet) = 0;
    644     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumReturn) = 0;
    645     virtual HRESULT WINAPI Remove(VARIANT VarKey) = 0;
    646     virtual HRESULT WINAPI RemoveAll(void) = 0;
    647   };
    648 #else
    649   typedef struct IVariantDictionaryVtbl {
    650     BEGIN_INTERFACE
    651       HRESULT (WINAPI *QueryInterface)(IVariantDictionary *This,REFIID riid,void **ppvObject);
    652       ULONG (WINAPI *AddRef)(IVariantDictionary *This);
    653       ULONG (WINAPI *Release)(IVariantDictionary *This);
    654       HRESULT (WINAPI *GetTypeInfoCount)(IVariantDictionary *This,UINT *pctinfo);
    655       HRESULT (WINAPI *GetTypeInfo)(IVariantDictionary *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    656       HRESULT (WINAPI *GetIDsOfNames)(IVariantDictionary *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    657       HRESULT (WINAPI *Invoke)(IVariantDictionary *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    658       HRESULT (WINAPI *get_Item)(IVariantDictionary *This,VARIANT VarKey,VARIANT *pvar);
    659       HRESULT (WINAPI *put_Item)(IVariantDictionary *This,VARIANT VarKey,VARIANT var);
    660       HRESULT (WINAPI *putref_Item)(IVariantDictionary *This,VARIANT VarKey,VARIANT var);
    661       HRESULT (WINAPI *get_Key)(IVariantDictionary *This,VARIANT VarKey,VARIANT *pvar);
    662       HRESULT (WINAPI *get_Count)(IVariantDictionary *This,int *cStrRet);
    663       HRESULT (WINAPI *get__NewEnum)(IVariantDictionary *This,IUnknown **ppEnumReturn);
    664       HRESULT (WINAPI *Remove)(IVariantDictionary *This,VARIANT VarKey);
    665       HRESULT (WINAPI *RemoveAll)(IVariantDictionary *This);
    666     END_INTERFACE
    667   } IVariantDictionaryVtbl;
    668   struct IVariantDictionary {
    669     CONST_VTBL struct IVariantDictionaryVtbl *lpVtbl;
    670   };
    671 #ifdef COBJMACROS
    672 #define IVariantDictionary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    673 #define IVariantDictionary_AddRef(This) (This)->lpVtbl->AddRef(This)
    674 #define IVariantDictionary_Release(This) (This)->lpVtbl->Release(This)
    675 #define IVariantDictionary_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    676 #define IVariantDictionary_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    677 #define IVariantDictionary_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    678 #define IVariantDictionary_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    679 #define IVariantDictionary_get_Item(This,VarKey,pvar) (This)->lpVtbl->get_Item(This,VarKey,pvar)
    680 #define IVariantDictionary_put_Item(This,VarKey,var) (This)->lpVtbl->put_Item(This,VarKey,var)
    681 #define IVariantDictionary_putref_Item(This,VarKey,var) (This)->lpVtbl->putref_Item(This,VarKey,var)
    682 #define IVariantDictionary_get_Key(This,VarKey,pvar) (This)->lpVtbl->get_Key(This,VarKey,pvar)
    683 #define IVariantDictionary_get_Count(This,cStrRet) (This)->lpVtbl->get_Count(This,cStrRet)
    684 #define IVariantDictionary_get__NewEnum(This,ppEnumReturn) (This)->lpVtbl->get__NewEnum(This,ppEnumReturn)
    685 #define IVariantDictionary_Remove(This,VarKey) (This)->lpVtbl->Remove(This,VarKey)
    686 #define IVariantDictionary_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
    687 #endif
    688 #endif
    689   HRESULT WINAPI IVariantDictionary_get_Item_Proxy(IVariantDictionary *This,VARIANT VarKey,VARIANT *pvar);
    690   void __RPC_STUB IVariantDictionary_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    691   HRESULT WINAPI IVariantDictionary_put_Item_Proxy(IVariantDictionary *This,VARIANT VarKey,VARIANT var);
    692   void __RPC_STUB IVariantDictionary_put_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    693   HRESULT WINAPI IVariantDictionary_putref_Item_Proxy(IVariantDictionary *This,VARIANT VarKey,VARIANT var);
    694   void __RPC_STUB IVariantDictionary_putref_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    695   HRESULT WINAPI IVariantDictionary_get_Key_Proxy(IVariantDictionary *This,VARIANT VarKey,VARIANT *pvar);
    696   void __RPC_STUB IVariantDictionary_get_Key_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    697   HRESULT WINAPI IVariantDictionary_get_Count_Proxy(IVariantDictionary *This,int *cStrRet);
    698   void __RPC_STUB IVariantDictionary_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    699   HRESULT WINAPI IVariantDictionary_get__NewEnum_Proxy(IVariantDictionary *This,IUnknown **ppEnumReturn);
    700   void __RPC_STUB IVariantDictionary_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    701   HRESULT WINAPI IVariantDictionary_Remove_Proxy(IVariantDictionary *This,VARIANT VarKey);
    702   void __RPC_STUB IVariantDictionary_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    703   HRESULT WINAPI IVariantDictionary_RemoveAll_Proxy(IVariantDictionary *This);
    704   void __RPC_STUB IVariantDictionary_RemoveAll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    705 #endif
    706 
    707 #ifndef __ISessionObject_INTERFACE_DEFINED__
    708 #define __ISessionObject_INTERFACE_DEFINED__
    709   DEFINE_GUID(IID_ISessionObject,0xD97A6DA0,0xA865,0x11cf,0x83,0xAF,0x00,0xA0,0xC9,0x0C,0x2B,0xD8);
    710 #if defined(__cplusplus) && !defined(CINTERFACE)
    711   struct ISessionObject : public IDispatch {
    712   public:
    713     virtual HRESULT WINAPI get_SessionID(BSTR *pbstrRet) = 0;
    714     virtual HRESULT WINAPI get_Value(BSTR bstrValue,VARIANT *pvar) = 0;
    715     virtual HRESULT WINAPI put_Value(BSTR bstrValue,VARIANT var) = 0;
    716     virtual HRESULT WINAPI putref_Value(BSTR bstrValue,VARIANT var) = 0;
    717     virtual HRESULT WINAPI get_Timeout(__LONG32 *plvar) = 0;
    718     virtual HRESULT WINAPI put_Timeout(__LONG32 lvar) = 0;
    719     virtual HRESULT WINAPI Abandon(void) = 0;
    720     virtual HRESULT WINAPI get_CodePage(__LONG32 *plvar) = 0;
    721     virtual HRESULT WINAPI put_CodePage(__LONG32 lvar) = 0;
    722     virtual HRESULT WINAPI get_LCID(__LONG32 *plvar) = 0;
    723     virtual HRESULT WINAPI put_LCID(__LONG32 lvar) = 0;
    724     virtual HRESULT WINAPI get_StaticObjects(IVariantDictionary **ppTaggedObjects) = 0;
    725     virtual HRESULT WINAPI get_Contents(IVariantDictionary **ppProperties) = 0;
    726   };
    727 #else
    728   typedef struct ISessionObjectVtbl {
    729     BEGIN_INTERFACE
    730       HRESULT (WINAPI *QueryInterface)(ISessionObject *This,REFIID riid,void **ppvObject);
    731       ULONG (WINAPI *AddRef)(ISessionObject *This);
    732       ULONG (WINAPI *Release)(ISessionObject *This);
    733       HRESULT (WINAPI *GetTypeInfoCount)(ISessionObject *This,UINT *pctinfo);
    734       HRESULT (WINAPI *GetTypeInfo)(ISessionObject *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    735       HRESULT (WINAPI *GetIDsOfNames)(ISessionObject *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    736       HRESULT (WINAPI *Invoke)(ISessionObject *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    737       HRESULT (WINAPI *get_SessionID)(ISessionObject *This,BSTR *pbstrRet);
    738       HRESULT (WINAPI *get_Value)(ISessionObject *This,BSTR bstrValue,VARIANT *pvar);
    739       HRESULT (WINAPI *put_Value)(ISessionObject *This,BSTR bstrValue,VARIANT var);
    740       HRESULT (WINAPI *putref_Value)(ISessionObject *This,BSTR bstrValue,VARIANT var);
    741       HRESULT (WINAPI *get_Timeout)(ISessionObject *This,__LONG32 *plvar);
    742       HRESULT (WINAPI *put_Timeout)(ISessionObject *This,__LONG32 lvar);
    743       HRESULT (WINAPI *Abandon)(ISessionObject *This);
    744       HRESULT (WINAPI *get_CodePage)(ISessionObject *This,__LONG32 *plvar);
    745       HRESULT (WINAPI *put_CodePage)(ISessionObject *This,__LONG32 lvar);
    746       HRESULT (WINAPI *get_LCID)(ISessionObject *This,__LONG32 *plvar);
    747       HRESULT (WINAPI *put_LCID)(ISessionObject *This,__LONG32 lvar);
    748       HRESULT (WINAPI *get_StaticObjects)(ISessionObject *This,IVariantDictionary **ppTaggedObjects);
    749       HRESULT (WINAPI *get_Contents)(ISessionObject *This,IVariantDictionary **ppProperties);
    750     END_INTERFACE
    751   } ISessionObjectVtbl;
    752   struct ISessionObject {
    753     CONST_VTBL struct ISessionObjectVtbl *lpVtbl;
    754   };
    755 #ifdef COBJMACROS
    756 #define ISessionObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    757 #define ISessionObject_AddRef(This) (This)->lpVtbl->AddRef(This)
    758 #define ISessionObject_Release(This) (This)->lpVtbl->Release(This)
    759 #define ISessionObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    760 #define ISessionObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    761 #define ISessionObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    762 #define ISessionObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    763 #define ISessionObject_get_SessionID(This,pbstrRet) (This)->lpVtbl->get_SessionID(This,pbstrRet)
    764 #define ISessionObject_get_Value(This,bstrValue,pvar) (This)->lpVtbl->get_Value(This,bstrValue,pvar)
    765 #define ISessionObject_put_Value(This,bstrValue,var) (This)->lpVtbl->put_Value(This,bstrValue,var)
    766 #define ISessionObject_putref_Value(This,bstrValue,var) (This)->lpVtbl->putref_Value(This,bstrValue,var)
    767 #define ISessionObject_get_Timeout(This,plvar) (This)->lpVtbl->get_Timeout(This,plvar)
    768 #define ISessionObject_put_Timeout(This,lvar) (This)->lpVtbl->put_Timeout(This,lvar)
    769 #define ISessionObject_Abandon(This) (This)->lpVtbl->Abandon(This)
    770 #define ISessionObject_get_CodePage(This,plvar) (This)->lpVtbl->get_CodePage(This,plvar)
    771 #define ISessionObject_put_CodePage(This,lvar) (This)->lpVtbl->put_CodePage(This,lvar)
    772 #define ISessionObject_get_LCID(This,plvar) (This)->lpVtbl->get_LCID(This,plvar)
    773 #define ISessionObject_put_LCID(This,lvar) (This)->lpVtbl->put_LCID(This,lvar)
    774 #define ISessionObject_get_StaticObjects(This,ppTaggedObjects) (This)->lpVtbl->get_StaticObjects(This,ppTaggedObjects)
    775 #define ISessionObject_get_Contents(This,ppProperties) (This)->lpVtbl->get_Contents(This,ppProperties)
    776 #endif
    777 #endif
    778   HRESULT WINAPI ISessionObject_get_SessionID_Proxy(ISessionObject *This,BSTR *pbstrRet);
    779   void __RPC_STUB ISessionObject_get_SessionID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    780   HRESULT WINAPI ISessionObject_get_Value_Proxy(ISessionObject *This,BSTR bstrValue,VARIANT *pvar);
    781   void __RPC_STUB ISessionObject_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    782   HRESULT WINAPI ISessionObject_put_Value_Proxy(ISessionObject *This,BSTR bstrValue,VARIANT var);
    783   void __RPC_STUB ISessionObject_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    784   HRESULT WINAPI ISessionObject_putref_Value_Proxy(ISessionObject *This,BSTR bstrValue,VARIANT var);
    785   void __RPC_STUB ISessionObject_putref_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    786   HRESULT WINAPI ISessionObject_get_Timeout_Proxy(ISessionObject *This,__LONG32 *plvar);
    787   void __RPC_STUB ISessionObject_get_Timeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    788   HRESULT WINAPI ISessionObject_put_Timeout_Proxy(ISessionObject *This,__LONG32 lvar);
    789   void __RPC_STUB ISessionObject_put_Timeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    790   HRESULT WINAPI ISessionObject_Abandon_Proxy(ISessionObject *This);
    791   void __RPC_STUB ISessionObject_Abandon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    792   HRESULT WINAPI ISessionObject_get_CodePage_Proxy(ISessionObject *This,__LONG32 *plvar);
    793   void __RPC_STUB ISessionObject_get_CodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    794   HRESULT WINAPI ISessionObject_put_CodePage_Proxy(ISessionObject *This,__LONG32 lvar);
    795   void __RPC_STUB ISessionObject_put_CodePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    796   HRESULT WINAPI ISessionObject_get_LCID_Proxy(ISessionObject *This,__LONG32 *plvar);
    797   void __RPC_STUB ISessionObject_get_LCID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    798   HRESULT WINAPI ISessionObject_put_LCID_Proxy(ISessionObject *This,__LONG32 lvar);
    799   void __RPC_STUB ISessionObject_put_LCID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    800   HRESULT WINAPI ISessionObject_get_StaticObjects_Proxy(ISessionObject *This,IVariantDictionary **ppTaggedObjects);
    801   void __RPC_STUB ISessionObject_get_StaticObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    802   HRESULT WINAPI ISessionObject_get_Contents_Proxy(ISessionObject *This,IVariantDictionary **ppProperties);
    803   void __RPC_STUB ISessionObject_get_Contents_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    804 #endif
    805 
    806   DEFINE_GUID(CLSID_Session,0x509F8F20,0x25DE,0x11D0,0xA5,0x5F,0x00,0xA0,0xC9,0x0C,0x20,0x91);
    807 #ifdef __cplusplus
    808   class Session;
    809 #endif
    810 
    811 #ifndef __IApplicationObject_INTERFACE_DEFINED__
    812 #define __IApplicationObject_INTERFACE_DEFINED__
    813   DEFINE_GUID(IID_IApplicationObject,0xD97A6DA0,0xA866,0x11cf,0x83,0xAE,0x10,0xA0,0xC9,0x0C,0x2B,0xD8);
    814 #if defined(__cplusplus) && !defined(CINTERFACE)
    815   struct IApplicationObject : public IDispatch {
    816   public:
    817     virtual HRESULT WINAPI get_Value(BSTR bstrValue,VARIANT *pvar) = 0;
    818     virtual HRESULT WINAPI put_Value(BSTR bstrValue,VARIANT var) = 0;
    819     virtual HRESULT WINAPI putref_Value(BSTR bstrValue,VARIANT var) = 0;
    820     virtual HRESULT WINAPI Lock(void) = 0;
    821     virtual HRESULT WINAPI UnLock(void) = 0;
    822     virtual HRESULT WINAPI get_StaticObjects(IVariantDictionary **ppProperties) = 0;
    823     virtual HRESULT WINAPI get_Contents(IVariantDictionary **ppProperties) = 0;
    824   };
    825 #else
    826   typedef struct IApplicationObjectVtbl {
    827     BEGIN_INTERFACE
    828       HRESULT (WINAPI *QueryInterface)(IApplicationObject *This,REFIID riid,void **ppvObject);
    829       ULONG (WINAPI *AddRef)(IApplicationObject *This);
    830       ULONG (WINAPI *Release)(IApplicationObject *This);
    831       HRESULT (WINAPI *GetTypeInfoCount)(IApplicationObject *This,UINT *pctinfo);
    832       HRESULT (WINAPI *GetTypeInfo)(IApplicationObject *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    833       HRESULT (WINAPI *GetIDsOfNames)(IApplicationObject *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    834       HRESULT (WINAPI *Invoke)(IApplicationObject *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    835       HRESULT (WINAPI *get_Value)(IApplicationObject *This,BSTR bstrValue,VARIANT *pvar);
    836       HRESULT (WINAPI *put_Value)(IApplicationObject *This,BSTR bstrValue,VARIANT var);
    837       HRESULT (WINAPI *putref_Value)(IApplicationObject *This,BSTR bstrValue,VARIANT var);
    838       HRESULT (WINAPI *Lock)(IApplicationObject *This);
    839       HRESULT (WINAPI *UnLock)(IApplicationObject *This);
    840       HRESULT (WINAPI *get_StaticObjects)(IApplicationObject *This,IVariantDictionary **ppProperties);
    841       HRESULT (WINAPI *get_Contents)(IApplicationObject *This,IVariantDictionary **ppProperties);
    842     END_INTERFACE
    843   } IApplicationObjectVtbl;
    844   struct IApplicationObject {
    845     CONST_VTBL struct IApplicationObjectVtbl *lpVtbl;
    846   };
    847 #ifdef COBJMACROS
    848 #define IApplicationObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    849 #define IApplicationObject_AddRef(This) (This)->lpVtbl->AddRef(This)
    850 #define IApplicationObject_Release(This) (This)->lpVtbl->Release(This)
    851 #define IApplicationObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    852 #define IApplicationObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    853 #define IApplicationObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    854 #define IApplicationObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    855 #define IApplicationObject_get_Value(This,bstrValue,pvar) (This)->lpVtbl->get_Value(This,bstrValue,pvar)
    856 #define IApplicationObject_put_Value(This,bstrValue,var) (This)->lpVtbl->put_Value(This,bstrValue,var)
    857 #define IApplicationObject_putref_Value(This,bstrValue,var) (This)->lpVtbl->putref_Value(This,bstrValue,var)
    858 #define IApplicationObject_Lock(This) (This)->lpVtbl->Lock(This)
    859 #define IApplicationObject_UnLock(This) (This)->lpVtbl->UnLock(This)
    860 #define IApplicationObject_get_StaticObjects(This,ppProperties) (This)->lpVtbl->get_StaticObjects(This,ppProperties)
    861 #define IApplicationObject_get_Contents(This,ppProperties) (This)->lpVtbl->get_Contents(This,ppProperties)
    862 #endif
    863 #endif
    864   HRESULT WINAPI IApplicationObject_get_Value_Proxy(IApplicationObject *This,BSTR bstrValue,VARIANT *pvar);
    865   void __RPC_STUB IApplicationObject_get_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    866   HRESULT WINAPI IApplicationObject_put_Value_Proxy(IApplicationObject *This,BSTR bstrValue,VARIANT var);
    867   void __RPC_STUB IApplicationObject_put_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    868   HRESULT WINAPI IApplicationObject_putref_Value_Proxy(IApplicationObject *This,BSTR bstrValue,VARIANT var);
    869   void __RPC_STUB IApplicationObject_putref_Value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    870   HRESULT WINAPI IApplicationObject_Lock_Proxy(IApplicationObject *This);
    871   void __RPC_STUB IApplicationObject_Lock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    872   HRESULT WINAPI IApplicationObject_UnLock_Proxy(IApplicationObject *This);
    873   void __RPC_STUB IApplicationObject_UnLock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    874   HRESULT WINAPI IApplicationObject_get_StaticObjects_Proxy(IApplicationObject *This,IVariantDictionary **ppProperties);
    875   void __RPC_STUB IApplicationObject_get_StaticObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    876   HRESULT WINAPI IApplicationObject_get_Contents_Proxy(IApplicationObject *This,IVariantDictionary **ppProperties);
    877   void __RPC_STUB IApplicationObject_get_Contents_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    878 #endif
    879 
    880   DEFINE_GUID(CLSID_Application,0x7C3BAF00,0x25DE,0x11D0,0xA5,0x5F,0x00,0xA0,0xC9,0x0C,0x20,0x91);
    881 #ifdef __cplusplus
    882   class Application;
    883 #endif
    884 
    885 #ifndef __IASPError_INTERFACE_DEFINED__
    886 #define __IASPError_INTERFACE_DEFINED__
    887   DEFINE_GUID(IID_IASPError,0xF5A6893E,0xA0F5,0x11d1,0x8C,0x4B,0x00,0xC0,0x4F,0xC3,0x24,0xA4);
    888 #if defined(__cplusplus) && !defined(CINTERFACE)
    889   struct IASPError : public IDispatch {
    890   public:
    891     virtual HRESULT WINAPI get_ASPCode(BSTR *pbstrASPCode) = 0;
    892     virtual HRESULT WINAPI get_Number(__LONG32 *plNumber) = 0;
    893     virtual HRESULT WINAPI get_Category(BSTR *pbstrSource) = 0;
    894     virtual HRESULT WINAPI get_File(BSTR *pbstrFileName) = 0;
    895     virtual HRESULT WINAPI get_Line(__LONG32 *plLineNumber) = 0;
    896     virtual HRESULT WINAPI get_Description(BSTR *pbstrDescription) = 0;
    897     virtual HRESULT WINAPI get_ASPDescription(BSTR *pbstrDescription) = 0;
    898     virtual HRESULT WINAPI get_Column(__LONG32 *plColumn) = 0;
    899     virtual HRESULT WINAPI get_Source(BSTR *pbstrLineText) = 0;
    900   };
    901 #else
    902   typedef struct IASPErrorVtbl {
    903     BEGIN_INTERFACE
    904       HRESULT (WINAPI *QueryInterface)(IASPError *This,REFIID riid,void **ppvObject);
    905       ULONG (WINAPI *AddRef)(IASPError *This);
    906       ULONG (WINAPI *Release)(IASPError *This);
    907       HRESULT (WINAPI *GetTypeInfoCount)(IASPError *This,UINT *pctinfo);
    908       HRESULT (WINAPI *GetTypeInfo)(IASPError *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    909       HRESULT (WINAPI *GetIDsOfNames)(IASPError *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    910       HRESULT (WINAPI *Invoke)(IASPError *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    911       HRESULT (WINAPI *get_ASPCode)(IASPError *This,BSTR *pbstrASPCode);
    912       HRESULT (WINAPI *get_Number)(IASPError *This,__LONG32 *plNumber);
    913       HRESULT (WINAPI *get_Category)(IASPError *This,BSTR *pbstrSource);
    914       HRESULT (WINAPI *get_File)(IASPError *This,BSTR *pbstrFileName);
    915       HRESULT (WINAPI *get_Line)(IASPError *This,__LONG32 *plLineNumber);
    916       HRESULT (WINAPI *get_Description)(IASPError *This,BSTR *pbstrDescription);
    917       HRESULT (WINAPI *get_ASPDescription)(IASPError *This,BSTR *pbstrDescription);
    918       HRESULT (WINAPI *get_Column)(IASPError *This,__LONG32 *plColumn);
    919       HRESULT (WINAPI *get_Source)(IASPError *This,BSTR *pbstrLineText);
    920     END_INTERFACE
    921   } IASPErrorVtbl;
    922   struct IASPError {
    923     CONST_VTBL struct IASPErrorVtbl *lpVtbl;
    924   };
    925 #ifdef COBJMACROS
    926 #define IASPError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    927 #define IASPError_AddRef(This) (This)->lpVtbl->AddRef(This)
    928 #define IASPError_Release(This) (This)->lpVtbl->Release(This)
    929 #define IASPError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    930 #define IASPError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    931 #define IASPError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    932 #define IASPError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    933 #define IASPError_get_ASPCode(This,pbstrASPCode) (This)->lpVtbl->get_ASPCode(This,pbstrASPCode)
    934 #define IASPError_get_Number(This,plNumber) (This)->lpVtbl->get_Number(This,plNumber)
    935 #define IASPError_get_Category(This,pbstrSource) (This)->lpVtbl->get_Category(This,pbstrSource)
    936 #define IASPError_get_File(This,pbstrFileName) (This)->lpVtbl->get_File(This,pbstrFileName)
    937 #define IASPError_get_Line(This,plLineNumber) (This)->lpVtbl->get_Line(This,plLineNumber)
    938 #define IASPError_get_Description(This,pbstrDescription) (This)->lpVtbl->get_Description(This,pbstrDescription)
    939 #define IASPError_get_ASPDescription(This,pbstrDescription) (This)->lpVtbl->get_ASPDescription(This,pbstrDescription)
    940 #define IASPError_get_Column(This,plColumn) (This)->lpVtbl->get_Column(This,plColumn)
    941 #define IASPError_get_Source(This,pbstrLineText) (This)->lpVtbl->get_Source(This,pbstrLineText)
    942 #endif
    943 #endif
    944   HRESULT WINAPI IASPError_get_ASPCode_Proxy(IASPError *This,BSTR *pbstrASPCode);
    945   void __RPC_STUB IASPError_get_ASPCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    946   HRESULT WINAPI IASPError_get_Number_Proxy(IASPError *This,__LONG32 *plNumber);
    947   void __RPC_STUB IASPError_get_Number_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    948   HRESULT WINAPI IASPError_get_Category_Proxy(IASPError *This,BSTR *pbstrSource);
    949   void __RPC_STUB IASPError_get_Category_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    950   HRESULT WINAPI IASPError_get_File_Proxy(IASPError *This,BSTR *pbstrFileName);
    951   void __RPC_STUB IASPError_get_File_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    952   HRESULT WINAPI IASPError_get_Line_Proxy(IASPError *This,__LONG32 *plLineNumber);
    953   void __RPC_STUB IASPError_get_Line_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    954   HRESULT WINAPI IASPError_get_Description_Proxy(IASPError *This,BSTR *pbstrDescription);
    955   void __RPC_STUB IASPError_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    956   HRESULT WINAPI IASPError_get_ASPDescription_Proxy(IASPError *This,BSTR *pbstrDescription);
    957   void __RPC_STUB IASPError_get_ASPDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    958   HRESULT WINAPI IASPError_get_Column_Proxy(IASPError *This,__LONG32 *plColumn);
    959   void __RPC_STUB IASPError_get_Column_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    960   HRESULT WINAPI IASPError_get_Source_Proxy(IASPError *This,BSTR *pbstrLineText);
    961   void __RPC_STUB IASPError_get_Source_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    962 #endif
    963 
    964 #ifndef __IServer_INTERFACE_DEFINED__
    965 #define __IServer_INTERFACE_DEFINED__
    966   DEFINE_GUID(IID_IServer,0xD97A6DA0,0xA867,0x11cf,0x83,0xAE,0x01,0xA0,0xC9,0x0C,0x2B,0xD8);
    967 #if defined(__cplusplus) && !defined(CINTERFACE)
    968   struct IServer : public IDispatch {
    969   public:
    970     virtual HRESULT WINAPI get_ScriptTimeout(__LONG32 *plTimeoutSeconds) = 0;
    971     virtual HRESULT WINAPI put_ScriptTimeout(__LONG32 lTimeoutSeconds) = 0;
    972     virtual HRESULT WINAPI CreateObject(BSTR bstrProgID,IDispatch **ppDispObject) = 0;
    973     virtual HRESULT WINAPI HTMLEncode(BSTR bstrIn,BSTR *pbstrEncoded) = 0;
    974     virtual HRESULT WINAPI MapPath(BSTR bstrLogicalPath,BSTR *pbstrPhysicalPath) = 0;
    975     virtual HRESULT WINAPI URLEncode(BSTR bstrIn,BSTR *pbstrEncoded) = 0;
    976     virtual HRESULT WINAPI URLPathEncode(BSTR bstrIn,BSTR *pbstrEncoded) = 0;
    977     virtual HRESULT WINAPI Execute(BSTR bstrLogicalPath) = 0;
    978     virtual HRESULT WINAPI Transfer(BSTR bstrLogicalPath) = 0;
    979     virtual HRESULT WINAPI GetLastError(IASPError **ppASPErrorObject) = 0;
    980   };
    981 #else
    982   typedef struct IServerVtbl {
    983     BEGIN_INTERFACE
    984       HRESULT (WINAPI *QueryInterface)(IServer *This,REFIID riid,void **ppvObject);
    985       ULONG (WINAPI *AddRef)(IServer *This);
    986       ULONG (WINAPI *Release)(IServer *This);
    987       HRESULT (WINAPI *GetTypeInfoCount)(IServer *This,UINT *pctinfo);
    988       HRESULT (WINAPI *GetTypeInfo)(IServer *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    989       HRESULT (WINAPI *GetIDsOfNames)(IServer *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    990       HRESULT (WINAPI *Invoke)(IServer *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    991       HRESULT (WINAPI *get_ScriptTimeout)(IServer *This,__LONG32 *plTimeoutSeconds);
    992       HRESULT (WINAPI *put_ScriptTimeout)(IServer *This,__LONG32 lTimeoutSeconds);
    993       HRESULT (WINAPI *CreateObject)(IServer *This,BSTR bstrProgID,IDispatch **ppDispObject);
    994       HRESULT (WINAPI *HTMLEncode)(IServer *This,BSTR bstrIn,BSTR *pbstrEncoded);
    995       HRESULT (WINAPI *MapPath)(IServer *This,BSTR bstrLogicalPath,BSTR *pbstrPhysicalPath);
    996       HRESULT (WINAPI *URLEncode)(IServer *This,BSTR bstrIn,BSTR *pbstrEncoded);
    997       HRESULT (WINAPI *URLPathEncode)(IServer *This,BSTR bstrIn,BSTR *pbstrEncoded);
    998       HRESULT (WINAPI *Execute)(IServer *This,BSTR bstrLogicalPath);
    999       HRESULT (WINAPI *Transfer)(IServer *This,BSTR bstrLogicalPath);
   1000       HRESULT (WINAPI *GetLastError)(IServer *This,IASPError **ppASPErrorObject);
   1001     END_INTERFACE
   1002   } IServerVtbl;
   1003   struct IServer {
   1004     CONST_VTBL struct IServerVtbl *lpVtbl;
   1005   };
   1006 #ifdef COBJMACROS
   1007 #define IServer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1008 #define IServer_AddRef(This) (This)->lpVtbl->AddRef(This)
   1009 #define IServer_Release(This) (This)->lpVtbl->Release(This)
   1010 #define IServer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1011 #define IServer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1012 #define IServer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1013 #define IServer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1014 #define IServer_get_ScriptTimeout(This,plTimeoutSeconds) (This)->lpVtbl->get_ScriptTimeout(This,plTimeoutSeconds)
   1015 #define IServer_put_ScriptTimeout(This,lTimeoutSeconds) (This)->lpVtbl->put_ScriptTimeout(This,lTimeoutSeconds)
   1016 #define IServer_CreateObject(This,bstrProgID,ppDispObject) (This)->lpVtbl->CreateObject(This,bstrProgID,ppDispObject)
   1017 #define IServer_HTMLEncode(This,bstrIn,pbstrEncoded) (This)->lpVtbl->HTMLEncode(This,bstrIn,pbstrEncoded)
   1018 #define IServer_MapPath(This,bstrLogicalPath,pbstrPhysicalPath) (This)->lpVtbl->MapPath(This,bstrLogicalPath,pbstrPhysicalPath)
   1019 #define IServer_URLEncode(This,bstrIn,pbstrEncoded) (This)->lpVtbl->URLEncode(This,bstrIn,pbstrEncoded)
   1020 #define IServer_URLPathEncode(This,bstrIn,pbstrEncoded) (This)->lpVtbl->URLPathEncode(This,bstrIn,pbstrEncoded)
   1021 #define IServer_Execute(This,bstrLogicalPath) (This)->lpVtbl->Execute(This,bstrLogicalPath)
   1022 #define IServer_Transfer(This,bstrLogicalPath) (This)->lpVtbl->Transfer(This,bstrLogicalPath)
   1023 #define IServer_GetLastError(This,ppASPErrorObject) (This)->lpVtbl->GetLastError(This,ppASPErrorObject)
   1024 #endif
   1025 #endif
   1026   HRESULT WINAPI IServer_get_ScriptTimeout_Proxy(IServer *This,__LONG32 *plTimeoutSeconds);
   1027   void __RPC_STUB IServer_get_ScriptTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1028   HRESULT WINAPI IServer_put_ScriptTimeout_Proxy(IServer *This,__LONG32 lTimeoutSeconds);
   1029   void __RPC_STUB IServer_put_ScriptTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1030   HRESULT WINAPI IServer_CreateObject_Proxy(IServer *This,BSTR bstrProgID,IDispatch **ppDispObject);
   1031   void __RPC_STUB IServer_CreateObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1032   HRESULT WINAPI IServer_HTMLEncode_Proxy(IServer *This,BSTR bstrIn,BSTR *pbstrEncoded);
   1033   void __RPC_STUB IServer_HTMLEncode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1034   HRESULT WINAPI IServer_MapPath_Proxy(IServer *This,BSTR bstrLogicalPath,BSTR *pbstrPhysicalPath);
   1035   void __RPC_STUB IServer_MapPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1036   HRESULT WINAPI IServer_URLEncode_Proxy(IServer *This,BSTR bstrIn,BSTR *pbstrEncoded);
   1037   void __RPC_STUB IServer_URLEncode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1038   HRESULT WINAPI IServer_URLPathEncode_Proxy(IServer *This,BSTR bstrIn,BSTR *pbstrEncoded);
   1039   void __RPC_STUB IServer_URLPathEncode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1040   HRESULT WINAPI IServer_Execute_Proxy(IServer *This,BSTR bstrLogicalPath);
   1041   void __RPC_STUB IServer_Execute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1042   HRESULT WINAPI IServer_Transfer_Proxy(IServer *This,BSTR bstrLogicalPath);
   1043   void __RPC_STUB IServer_Transfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1044   HRESULT WINAPI IServer_GetLastError_Proxy(IServer *This,IASPError **ppASPErrorObject);
   1045   void __RPC_STUB IServer_GetLastError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1046 #endif
   1047 
   1048   DEFINE_GUID(CLSID_Server,0xA506D160,0x25E0,0x11D0,0xA5,0x5F,0x00,0xA0,0xC9,0x0C,0x20,0x91);
   1049 #ifdef __cplusplus
   1050   class Server;
   1051 #endif
   1052 
   1053 #ifndef __IScriptingContext_INTERFACE_DEFINED__
   1054 #define __IScriptingContext_INTERFACE_DEFINED__
   1055   DEFINE_GUID(IID_IScriptingContext,0xD97A6DA0,0xA868,0x11cf,0x83,0xAE,0x00,0xB0,0xC9,0x0C,0x2B,0xD8);
   1056 #if defined(__cplusplus) && !defined(CINTERFACE)
   1057   struct IScriptingContext : public IDispatch {
   1058   public:
   1059     virtual HRESULT WINAPI get_Request(IRequest **ppRequest) = 0;
   1060     virtual HRESULT WINAPI get_Response(IResponse **ppResponse) = 0;
   1061     virtual HRESULT WINAPI get_Server(IServer **ppServer) = 0;
   1062     virtual HRESULT WINAPI get_Session(ISessionObject **ppSession) = 0;
   1063     virtual HRESULT WINAPI get_Application(IApplicationObject **ppApplication) = 0;
   1064   };
   1065 #else
   1066   typedef struct IScriptingContextVtbl {
   1067     BEGIN_INTERFACE
   1068       HRESULT (WINAPI *QueryInterface)(IScriptingContext *This,REFIID riid,void **ppvObject);
   1069       ULONG (WINAPI *AddRef)(IScriptingContext *This);
   1070       ULONG (WINAPI *Release)(IScriptingContext *This);
   1071       HRESULT (WINAPI *GetTypeInfoCount)(IScriptingContext *This,UINT *pctinfo);
   1072       HRESULT (WINAPI *GetTypeInfo)(IScriptingContext *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1073       HRESULT (WINAPI *GetIDsOfNames)(IScriptingContext *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1074       HRESULT (WINAPI *Invoke)(IScriptingContext *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1075       HRESULT (WINAPI *get_Request)(IScriptingContext *This,IRequest **ppRequest);
   1076       HRESULT (WINAPI *get_Response)(IScriptingContext *This,IResponse **ppResponse);
   1077       HRESULT (WINAPI *get_Server)(IScriptingContext *This,IServer **ppServer);
   1078       HRESULT (WINAPI *get_Session)(IScriptingContext *This,ISessionObject **ppSession);
   1079       HRESULT (WINAPI *get_Application)(IScriptingContext *This,IApplicationObject **ppApplication);
   1080     END_INTERFACE
   1081   } IScriptingContextVtbl;
   1082   struct IScriptingContext {
   1083     CONST_VTBL struct IScriptingContextVtbl *lpVtbl;
   1084   };
   1085 #ifdef COBJMACROS
   1086 #define IScriptingContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1087 #define IScriptingContext_AddRef(This) (This)->lpVtbl->AddRef(This)
   1088 #define IScriptingContext_Release(This) (This)->lpVtbl->Release(This)
   1089 #define IScriptingContext_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1090 #define IScriptingContext_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1091 #define IScriptingContext_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1092 #define IScriptingContext_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1093 #define IScriptingContext_get_Request(This,ppRequest) (This)->lpVtbl->get_Request(This,ppRequest)
   1094 #define IScriptingContext_get_Response(This,ppResponse) (This)->lpVtbl->get_Response(This,ppResponse)
   1095 #define IScriptingContext_get_Server(This,ppServer) (This)->lpVtbl->get_Server(This,ppServer)
   1096 #define IScriptingContext_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession)
   1097 #define IScriptingContext_get_Application(This,ppApplication) (This)->lpVtbl->get_Application(This,ppApplication)
   1098 #endif
   1099 #endif
   1100   HRESULT WINAPI IScriptingContext_get_Request_Proxy(IScriptingContext *This,IRequest **ppRequest);
   1101   void __RPC_STUB IScriptingContext_get_Request_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1102   HRESULT WINAPI IScriptingContext_get_Response_Proxy(IScriptingContext *This,IResponse **ppResponse);
   1103   void __RPC_STUB IScriptingContext_get_Response_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1104   HRESULT WINAPI IScriptingContext_get_Server_Proxy(IScriptingContext *This,IServer **ppServer);
   1105   void __RPC_STUB IScriptingContext_get_Server_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1106   HRESULT WINAPI IScriptingContext_get_Session_Proxy(IScriptingContext *This,ISessionObject **ppSession);
   1107   void __RPC_STUB IScriptingContext_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1108   HRESULT WINAPI IScriptingContext_get_Application_Proxy(IScriptingContext *This,IApplicationObject **ppApplication);
   1109   void __RPC_STUB IScriptingContext_get_Application_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1110 #endif
   1111 
   1112   DEFINE_GUID(CLSID_ScriptingContext,0xD97A6DA0,0xA868,0x11cf,0x83,0xAE,0x11,0xB0,0xC9,0x0C,0x2B,0xD8);
   1113 #ifdef __cplusplus
   1114   class ScriptingContext;
   1115 #endif
   1116 #endif
   1117 
   1118 #ifdef __cplusplus
   1119 }
   1120 #endif
   1121 #endif
   1122