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__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef __sensevts_h__
     18 #define __sensevts_h__
     19 
     20 #ifndef __ISensNetwork_FWD_DEFINED__
     21 #define __ISensNetwork_FWD_DEFINED__
     22 typedef struct ISensNetwork ISensNetwork;
     23 #endif
     24 
     25 #ifndef __ISensOnNow_FWD_DEFINED__
     26 #define __ISensOnNow_FWD_DEFINED__
     27 typedef struct ISensOnNow ISensOnNow;
     28 #endif
     29 
     30 #ifndef __ISensLogon_FWD_DEFINED__
     31 #define __ISensLogon_FWD_DEFINED__
     32 typedef struct ISensLogon ISensLogon;
     33 #endif
     34 
     35 #ifndef __ISensLogon2_FWD_DEFINED__
     36 #define __ISensLogon2_FWD_DEFINED__
     37 typedef struct ISensLogon2 ISensLogon2;
     38 #endif
     39 
     40 #ifndef __SENS_FWD_DEFINED__
     41 #define __SENS_FWD_DEFINED__
     42 #ifdef __cplusplus
     43 typedef class SENS SENS;
     44 #else
     45 typedef struct SENS SENS;
     46 #endif
     47 #endif
     48 
     49 #include "wtypes.h"
     50 
     51 #ifdef __cplusplus
     52 extern "C"{
     53 #endif
     54 
     55 #ifndef __MIDL_user_allocate_free_DEFINED__
     56 #define __MIDL_user_allocate_free_DEFINED__
     57   void *__RPC_API MIDL_user_allocate(size_t);
     58   void __RPC_API MIDL_user_free(void *);
     59 #endif
     60 
     61 #ifndef __SensEvents_LIBRARY_DEFINED__
     62 #define __SensEvents_LIBRARY_DEFINED__
     63   typedef struct SENS_QOCINFO {
     64     DWORD dwSize;
     65     DWORD dwFlags;
     66     DWORD dwOutSpeed;
     67     DWORD dwInSpeed;
     68   } SENS_QOCINFO;
     69 
     70   typedef SENS_QOCINFO *LPSENS_QOCINFO;
     71 
     72   EXTERN_C const IID LIBID_SensEvents;
     73 #ifndef __ISensNetwork_INTERFACE_DEFINED__
     74 #define __ISensNetwork_INTERFACE_DEFINED__
     75   EXTERN_C const IID IID_ISensNetwork;
     76 #if defined(__cplusplus) && !defined(CINTERFACE)
     77   struct ISensNetwork : public IDispatch {
     78   public:
     79     virtual HRESULT WINAPI ConnectionMade(BSTR bstrConnection,ULONG ulType,LPSENS_QOCINFO lpQOCInfo) = 0;
     80     virtual HRESULT WINAPI ConnectionMadeNoQOCInfo(BSTR bstrConnection,ULONG ulType) = 0;
     81     virtual HRESULT WINAPI ConnectionLost(BSTR bstrConnection,ULONG ulType) = 0;
     82     virtual HRESULT WINAPI DestinationReachable(BSTR bstrDestination,BSTR bstrConnection,ULONG ulType,LPSENS_QOCINFO lpQOCInfo) = 0;
     83     virtual HRESULT WINAPI DestinationReachableNoQOCInfo(BSTR bstrDestination,BSTR bstrConnection,ULONG ulType) = 0;
     84   };
     85 #else
     86   typedef struct ISensNetworkVtbl {
     87     BEGIN_INTERFACE
     88       HRESULT (WINAPI *QueryInterface)(ISensNetwork *This,REFIID riid,void **ppvObject);
     89       ULONG (WINAPI *AddRef)(ISensNetwork *This);
     90       ULONG (WINAPI *Release)(ISensNetwork *This);
     91       HRESULT (WINAPI *GetTypeInfoCount)(ISensNetwork *This,UINT *pctinfo);
     92       HRESULT (WINAPI *GetTypeInfo)(ISensNetwork *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
     93       HRESULT (WINAPI *GetIDsOfNames)(ISensNetwork *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
     94       HRESULT (WINAPI *Invoke)(ISensNetwork *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
     95       HRESULT (WINAPI *ConnectionMade)(ISensNetwork *This,BSTR bstrConnection,ULONG ulType,LPSENS_QOCINFO lpQOCInfo);
     96       HRESULT (WINAPI *ConnectionMadeNoQOCInfo)(ISensNetwork *This,BSTR bstrConnection,ULONG ulType);
     97       HRESULT (WINAPI *ConnectionLost)(ISensNetwork *This,BSTR bstrConnection,ULONG ulType);
     98       HRESULT (WINAPI *DestinationReachable)(ISensNetwork *This,BSTR bstrDestination,BSTR bstrConnection,ULONG ulType,LPSENS_QOCINFO lpQOCInfo);
     99       HRESULT (WINAPI *DestinationReachableNoQOCInfo)(ISensNetwork *This,BSTR bstrDestination,BSTR bstrConnection,ULONG ulType);
    100     END_INTERFACE
    101   } ISensNetworkVtbl;
    102   struct ISensNetwork {
    103     CONST_VTBL struct ISensNetworkVtbl *lpVtbl;
    104   };
    105 #ifdef COBJMACROS
    106 #define ISensNetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    107 #define ISensNetwork_AddRef(This) (This)->lpVtbl->AddRef(This)
    108 #define ISensNetwork_Release(This) (This)->lpVtbl->Release(This)
    109 #define ISensNetwork_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    110 #define ISensNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    111 #define ISensNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    112 #define ISensNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    113 #define ISensNetwork_ConnectionMade(This,bstrConnection,ulType,lpQOCInfo) (This)->lpVtbl->ConnectionMade(This,bstrConnection,ulType,lpQOCInfo)
    114 #define ISensNetwork_ConnectionMadeNoQOCInfo(This,bstrConnection,ulType) (This)->lpVtbl->ConnectionMadeNoQOCInfo(This,bstrConnection,ulType)
    115 #define ISensNetwork_ConnectionLost(This,bstrConnection,ulType) (This)->lpVtbl->ConnectionLost(This,bstrConnection,ulType)
    116 #define ISensNetwork_DestinationReachable(This,bstrDestination,bstrConnection,ulType,lpQOCInfo) (This)->lpVtbl->DestinationReachable(This,bstrDestination,bstrConnection,ulType,lpQOCInfo)
    117 #define ISensNetwork_DestinationReachableNoQOCInfo(This,bstrDestination,bstrConnection,ulType) (This)->lpVtbl->DestinationReachableNoQOCInfo(This,bstrDestination,bstrConnection,ulType)
    118 #endif
    119 #endif
    120   HRESULT WINAPI ISensNetwork_ConnectionMade_Proxy(ISensNetwork *This,BSTR bstrConnection,ULONG ulType,LPSENS_QOCINFO lpQOCInfo);
    121   void __RPC_STUB ISensNetwork_ConnectionMade_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    122   HRESULT WINAPI ISensNetwork_ConnectionMadeNoQOCInfo_Proxy(ISensNetwork *This,BSTR bstrConnection,ULONG ulType);
    123   void __RPC_STUB ISensNetwork_ConnectionMadeNoQOCInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    124   HRESULT WINAPI ISensNetwork_ConnectionLost_Proxy(ISensNetwork *This,BSTR bstrConnection,ULONG ulType);
    125   void __RPC_STUB ISensNetwork_ConnectionLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    126   HRESULT WINAPI ISensNetwork_DestinationReachable_Proxy(ISensNetwork *This,BSTR bstrDestination,BSTR bstrConnection,ULONG ulType,LPSENS_QOCINFO lpQOCInfo);
    127   void __RPC_STUB ISensNetwork_DestinationReachable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    128   HRESULT WINAPI ISensNetwork_DestinationReachableNoQOCInfo_Proxy(ISensNetwork *This,BSTR bstrDestination,BSTR bstrConnection,ULONG ulType);
    129   void __RPC_STUB ISensNetwork_DestinationReachableNoQOCInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    130 #endif
    131 
    132 #ifndef __ISensOnNow_INTERFACE_DEFINED__
    133 #define __ISensOnNow_INTERFACE_DEFINED__
    134   EXTERN_C const IID IID_ISensOnNow;
    135 #if defined(__cplusplus) && !defined(CINTERFACE)
    136   struct ISensOnNow : public IDispatch {
    137   public:
    138     virtual HRESULT WINAPI OnACPower(void) = 0;
    139     virtual HRESULT WINAPI OnBatteryPower(DWORD dwBatteryLifePercent) = 0;
    140     virtual HRESULT WINAPI BatteryLow(DWORD dwBatteryLifePercent) = 0;
    141   };
    142 #else
    143   typedef struct ISensOnNowVtbl {
    144     BEGIN_INTERFACE
    145       HRESULT (WINAPI *QueryInterface)(ISensOnNow *This,REFIID riid,void **ppvObject);
    146       ULONG (WINAPI *AddRef)(ISensOnNow *This);
    147       ULONG (WINAPI *Release)(ISensOnNow *This);
    148       HRESULT (WINAPI *GetTypeInfoCount)(ISensOnNow *This,UINT *pctinfo);
    149       HRESULT (WINAPI *GetTypeInfo)(ISensOnNow *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    150       HRESULT (WINAPI *GetIDsOfNames)(ISensOnNow *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    151       HRESULT (WINAPI *Invoke)(ISensOnNow *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    152       HRESULT (WINAPI *OnACPower)(ISensOnNow *This);
    153       HRESULT (WINAPI *OnBatteryPower)(ISensOnNow *This,DWORD dwBatteryLifePercent);
    154       HRESULT (WINAPI *BatteryLow)(ISensOnNow *This,DWORD dwBatteryLifePercent);
    155     END_INTERFACE
    156   } ISensOnNowVtbl;
    157   struct ISensOnNow {
    158     CONST_VTBL struct ISensOnNowVtbl *lpVtbl;
    159   };
    160 #ifdef COBJMACROS
    161 #define ISensOnNow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    162 #define ISensOnNow_AddRef(This) (This)->lpVtbl->AddRef(This)
    163 #define ISensOnNow_Release(This) (This)->lpVtbl->Release(This)
    164 #define ISensOnNow_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    165 #define ISensOnNow_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    166 #define ISensOnNow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    167 #define ISensOnNow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    168 #define ISensOnNow_OnACPower(This) (This)->lpVtbl->OnACPower(This)
    169 #define ISensOnNow_OnBatteryPower(This,dwBatteryLifePercent) (This)->lpVtbl->OnBatteryPower(This,dwBatteryLifePercent)
    170 #define ISensOnNow_BatteryLow(This,dwBatteryLifePercent) (This)->lpVtbl->BatteryLow(This,dwBatteryLifePercent)
    171 #endif
    172 #endif
    173   HRESULT WINAPI ISensOnNow_OnACPower_Proxy(ISensOnNow *This);
    174   void __RPC_STUB ISensOnNow_OnACPower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    175   HRESULT WINAPI ISensOnNow_OnBatteryPower_Proxy(ISensOnNow *This,DWORD dwBatteryLifePercent);
    176   void __RPC_STUB ISensOnNow_OnBatteryPower_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    177   HRESULT WINAPI ISensOnNow_BatteryLow_Proxy(ISensOnNow *This,DWORD dwBatteryLifePercent);
    178   void __RPC_STUB ISensOnNow_BatteryLow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    179 #endif
    180 
    181 #ifndef __ISensLogon_INTERFACE_DEFINED__
    182 #define __ISensLogon_INTERFACE_DEFINED__
    183   EXTERN_C const IID IID_ISensLogon;
    184 #if defined(__cplusplus) && !defined(CINTERFACE)
    185   struct ISensLogon : public IDispatch {
    186   public:
    187     virtual HRESULT WINAPI Logon(BSTR bstrUserName) = 0;
    188     virtual HRESULT WINAPI Logoff(BSTR bstrUserName) = 0;
    189     virtual HRESULT WINAPI StartShell(BSTR bstrUserName) = 0;
    190     virtual HRESULT WINAPI DisplayLock(BSTR bstrUserName) = 0;
    191     virtual HRESULT WINAPI DisplayUnlock(BSTR bstrUserName) = 0;
    192     virtual HRESULT WINAPI StartScreenSaver(BSTR bstrUserName) = 0;
    193     virtual HRESULT WINAPI StopScreenSaver(BSTR bstrUserName) = 0;
    194   };
    195 #else
    196   typedef struct ISensLogonVtbl {
    197     BEGIN_INTERFACE
    198       HRESULT (WINAPI *QueryInterface)(ISensLogon *This,REFIID riid,void **ppvObject);
    199       ULONG (WINAPI *AddRef)(ISensLogon *This);
    200       ULONG (WINAPI *Release)(ISensLogon *This);
    201       HRESULT (WINAPI *GetTypeInfoCount)(ISensLogon *This,UINT *pctinfo);
    202       HRESULT (WINAPI *GetTypeInfo)(ISensLogon *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    203       HRESULT (WINAPI *GetIDsOfNames)(ISensLogon *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    204       HRESULT (WINAPI *Invoke)(ISensLogon *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    205       HRESULT (WINAPI *Logon)(ISensLogon *This,BSTR bstrUserName);
    206       HRESULT (WINAPI *Logoff)(ISensLogon *This,BSTR bstrUserName);
    207       HRESULT (WINAPI *StartShell)(ISensLogon *This,BSTR bstrUserName);
    208       HRESULT (WINAPI *DisplayLock)(ISensLogon *This,BSTR bstrUserName);
    209       HRESULT (WINAPI *DisplayUnlock)(ISensLogon *This,BSTR bstrUserName);
    210       HRESULT (WINAPI *StartScreenSaver)(ISensLogon *This,BSTR bstrUserName);
    211       HRESULT (WINAPI *StopScreenSaver)(ISensLogon *This,BSTR bstrUserName);
    212     END_INTERFACE
    213   } ISensLogonVtbl;
    214   struct ISensLogon {
    215     CONST_VTBL struct ISensLogonVtbl *lpVtbl;
    216   };
    217 #ifdef COBJMACROS
    218 #define ISensLogon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    219 #define ISensLogon_AddRef(This) (This)->lpVtbl->AddRef(This)
    220 #define ISensLogon_Release(This) (This)->lpVtbl->Release(This)
    221 #define ISensLogon_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    222 #define ISensLogon_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    223 #define ISensLogon_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    224 #define ISensLogon_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    225 #define ISensLogon_Logon(This,bstrUserName) (This)->lpVtbl->Logon(This,bstrUserName)
    226 #define ISensLogon_Logoff(This,bstrUserName) (This)->lpVtbl->Logoff(This,bstrUserName)
    227 #define ISensLogon_StartShell(This,bstrUserName) (This)->lpVtbl->StartShell(This,bstrUserName)
    228 #define ISensLogon_DisplayLock(This,bstrUserName) (This)->lpVtbl->DisplayLock(This,bstrUserName)
    229 #define ISensLogon_DisplayUnlock(This,bstrUserName) (This)->lpVtbl->DisplayUnlock(This,bstrUserName)
    230 #define ISensLogon_StartScreenSaver(This,bstrUserName) (This)->lpVtbl->StartScreenSaver(This,bstrUserName)
    231 #define ISensLogon_StopScreenSaver(This,bstrUserName) (This)->lpVtbl->StopScreenSaver(This,bstrUserName)
    232 #endif
    233 #endif
    234   HRESULT WINAPI ISensLogon_Logon_Proxy(ISensLogon *This,BSTR bstrUserName);
    235   void __RPC_STUB ISensLogon_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    236   HRESULT WINAPI ISensLogon_Logoff_Proxy(ISensLogon *This,BSTR bstrUserName);
    237   void __RPC_STUB ISensLogon_Logoff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    238   HRESULT WINAPI ISensLogon_StartShell_Proxy(ISensLogon *This,BSTR bstrUserName);
    239   void __RPC_STUB ISensLogon_StartShell_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    240   HRESULT WINAPI ISensLogon_DisplayLock_Proxy(ISensLogon *This,BSTR bstrUserName);
    241   void __RPC_STUB ISensLogon_DisplayLock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    242   HRESULT WINAPI ISensLogon_DisplayUnlock_Proxy(ISensLogon *This,BSTR bstrUserName);
    243   void __RPC_STUB ISensLogon_DisplayUnlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    244   HRESULT WINAPI ISensLogon_StartScreenSaver_Proxy(ISensLogon *This,BSTR bstrUserName);
    245   void __RPC_STUB ISensLogon_StartScreenSaver_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    246   HRESULT WINAPI ISensLogon_StopScreenSaver_Proxy(ISensLogon *This,BSTR bstrUserName);
    247   void __RPC_STUB ISensLogon_StopScreenSaver_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    248 #endif
    249 
    250 #ifndef __ISensLogon2_INTERFACE_DEFINED__
    251 #define __ISensLogon2_INTERFACE_DEFINED__
    252   EXTERN_C const IID IID_ISensLogon2;
    253 #if defined(__cplusplus) && !defined(CINTERFACE)
    254   struct ISensLogon2 : public IDispatch {
    255   public:
    256     virtual HRESULT WINAPI Logon(BSTR bstrUserName,DWORD dwSessionId) = 0;
    257     virtual HRESULT WINAPI Logoff(BSTR bstrUserName,DWORD dwSessionId) = 0;
    258     virtual HRESULT WINAPI SessionDisconnect(BSTR bstrUserName,DWORD dwSessionId) = 0;
    259     virtual HRESULT WINAPI SessionReconnect(BSTR bstrUserName,DWORD dwSessionId) = 0;
    260     virtual HRESULT WINAPI PostShell(BSTR bstrUserName,DWORD dwSessionId) = 0;
    261   };
    262 #else
    263   typedef struct ISensLogon2Vtbl {
    264     BEGIN_INTERFACE
    265       HRESULT (WINAPI *QueryInterface)(ISensLogon2 *This,REFIID riid,void **ppvObject);
    266       ULONG (WINAPI *AddRef)(ISensLogon2 *This);
    267       ULONG (WINAPI *Release)(ISensLogon2 *This);
    268       HRESULT (WINAPI *GetTypeInfoCount)(ISensLogon2 *This,UINT *pctinfo);
    269       HRESULT (WINAPI *GetTypeInfo)(ISensLogon2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    270       HRESULT (WINAPI *GetIDsOfNames)(ISensLogon2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    271       HRESULT (WINAPI *Invoke)(ISensLogon2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    272       HRESULT (WINAPI *Logon)(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    273       HRESULT (WINAPI *Logoff)(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    274       HRESULT (WINAPI *SessionDisconnect)(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    275       HRESULT (WINAPI *SessionReconnect)(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    276       HRESULT (WINAPI *PostShell)(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    277     END_INTERFACE
    278   } ISensLogon2Vtbl;
    279   struct ISensLogon2 {
    280     CONST_VTBL struct ISensLogon2Vtbl *lpVtbl;
    281   };
    282 #ifdef COBJMACROS
    283 #define ISensLogon2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    284 #define ISensLogon2_AddRef(This) (This)->lpVtbl->AddRef(This)
    285 #define ISensLogon2_Release(This) (This)->lpVtbl->Release(This)
    286 #define ISensLogon2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    287 #define ISensLogon2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    288 #define ISensLogon2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    289 #define ISensLogon2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    290 #define ISensLogon2_Logon(This,bstrUserName,dwSessionId) (This)->lpVtbl->Logon(This,bstrUserName,dwSessionId)
    291 #define ISensLogon2_Logoff(This,bstrUserName,dwSessionId) (This)->lpVtbl->Logoff(This,bstrUserName,dwSessionId)
    292 #define ISensLogon2_SessionDisconnect(This,bstrUserName,dwSessionId) (This)->lpVtbl->SessionDisconnect(This,bstrUserName,dwSessionId)
    293 #define ISensLogon2_SessionReconnect(This,bstrUserName,dwSessionId) (This)->lpVtbl->SessionReconnect(This,bstrUserName,dwSessionId)
    294 #define ISensLogon2_PostShell(This,bstrUserName,dwSessionId) (This)->lpVtbl->PostShell(This,bstrUserName,dwSessionId)
    295 #endif
    296 #endif
    297   HRESULT WINAPI ISensLogon2_Logon_Proxy(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    298   void __RPC_STUB ISensLogon2_Logon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    299   HRESULT WINAPI ISensLogon2_Logoff_Proxy(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    300   void __RPC_STUB ISensLogon2_Logoff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    301   HRESULT WINAPI ISensLogon2_SessionDisconnect_Proxy(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    302   void __RPC_STUB ISensLogon2_SessionDisconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    303   HRESULT WINAPI ISensLogon2_SessionReconnect_Proxy(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    304   void __RPC_STUB ISensLogon2_SessionReconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    305   HRESULT WINAPI ISensLogon2_PostShell_Proxy(ISensLogon2 *This,BSTR bstrUserName,DWORD dwSessionId);
    306   void __RPC_STUB ISensLogon2_PostShell_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    307 #endif
    308 
    309   EXTERN_C const CLSID CLSID_SENS;
    310 #ifdef __cplusplus
    311   class SENS;
    312 #endif
    313 #endif
    314 
    315 #ifdef __cplusplus
    316 }
    317 #endif
    318 #endif
    319