⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 project1_tlb.h

📁 C++Builder高级应用开发指南随书源码
💻 H
📖 第 1 页 / 共 2 页
字号:

// *********************************************************************//
// DispIntf:  IMyAppServEvents
// Flags:     (4096) Dispatchable
// GUID:      {CE3A2A6A-E9A9-4369-BA43-96D970345FDD}
// *********************************************************************//
template <class T>
class IMyAppServEventsDispT : public TAutoDriver<IMyAppServEvents>
{
public:
  IMyAppServEventsDispT(){}

  void Attach(LPUNKNOWN punk)
  { m_Dispatch = static_cast<T*>(punk); }


};
typedef IMyAppServEventsDispT<IMyAppServEvents> IMyAppServEventsDisp;

// *********************************************************************//
// SmartIntf: TCOMIMyAppServ
// Interface: IMyAppServ
// *********************************************************************//
// *********************************************************************//
// DispIntf:  IMyAppServ
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C009D1D8-B30D-410F-B77F-8E64EDB12050}
// *********************************************************************//
template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_ApplyUpdates(BSTR ProviderName/*[in]*/, TVariantInParam Delta/*[in]*/, 
                                    long MaxErrors/*[in]*/, long* ErrorCount/*[out]*/, 
                                    TVariant* OwnerData/*[in,out]*/, TVariant* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_ApplyUpdates"), DISPID(20000000));
  TAutoArgs<5> _args;
  _args[1] = ProviderName /*[VT_BSTR:0]*/;
  _args[2] = Delta /*[VT_VARIANT:0]*/;
  _args[3] = MaxErrors /*[VT_I4:0]*/;
  _args[4] = ErrorCount /*[VT_I4:1]*/;
  _args[5] = OwnerData /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(Value /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMyAppServDispT<T>::AS_ApplyUpdates(BSTR ProviderName/*[in]*/, TVariantInParam Delta/*[in]*/, 
                                    long MaxErrors/*[in]*/, long* ErrorCount/*[out]*/, 
                                    TVariant* OwnerData/*[in,out]*/)
{
  TVariant Value;
  this->AS_ApplyUpdates(ProviderName, Delta, MaxErrors, ErrorCount, OwnerData, (TVariant*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_GetRecords(BSTR ProviderName/*[in]*/, long Count/*[in]*/, 
                                  long* RecsOut/*[out]*/, long Options/*[in]*/, 
                                  BSTR CommandText/*[in]*/, TVariant* Params/*[in,out]*/, 
                                  TVariant* OwnerData/*[in,out]*/, TVariant* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_GetRecords"), DISPID(20000001));
  TAutoArgs<7> _args;
  _args[1] = ProviderName /*[VT_BSTR:0]*/;
  _args[2] = Count /*[VT_I4:0]*/;
  _args[3] = RecsOut /*[VT_I4:1]*/;
  _args[4] = Options /*[VT_I4:0]*/;
  _args[5] = CommandText /*[VT_BSTR:0]*/;
  _args[6] = Params /*[VT_VARIANT:1]*/;
  _args[7] = OwnerData /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(Value /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMyAppServDispT<T>::AS_GetRecords(BSTR ProviderName/*[in]*/, long Count/*[in]*/, 
                                  long* RecsOut/*[out]*/, long Options/*[in]*/, 
                                  BSTR CommandText/*[in]*/, TVariant* Params/*[in,out]*/, 
                                  TVariant* OwnerData/*[in,out]*/)
{
  TVariant Value;
  this->AS_GetRecords(ProviderName, Count, RecsOut, Options, CommandText, Params, OwnerData, (TVariant*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_DataRequest(BSTR ProviderName/*[in]*/, TVariantInParam Data/*[in]*/, 
                                   TVariant* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_DataRequest"), DISPID(20000002));
  TAutoArgs<2> _args;
  _args[1] = ProviderName /*[VT_BSTR:0]*/;
  _args[2] = Data /*[VT_VARIANT:0]*/;
  return OutRetValSetterPtr(Value /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMyAppServDispT<T>::AS_DataRequest(BSTR ProviderName/*[in]*/, TVariantInParam Data/*[in]*/)
{
  TVariant Value;
  this->AS_DataRequest(ProviderName, Data, (TVariant*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_GetProviderNames(TVariant* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_GetProviderNames"), DISPID(20000003));
  TAutoArgs<0> _args;
  return OutRetValSetterPtr(Value /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMyAppServDispT<T>::AS_GetProviderNames(void)
{
  TVariant Value;
  this->AS_GetProviderNames((TVariant*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_GetParams(BSTR ProviderName/*[in]*/, TVariant* OwnerData/*[in,out]*/, 
                                 TVariant* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_GetParams"), DISPID(20000004));
  TAutoArgs<2> _args;
  _args[1] = ProviderName /*[VT_BSTR:0]*/;
  _args[2] = OwnerData /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(Value /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMyAppServDispT<T>::AS_GetParams(BSTR ProviderName/*[in]*/, TVariant* OwnerData/*[in,out]*/)
{
  TVariant Value;
  this->AS_GetParams(ProviderName, OwnerData, (TVariant*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_RowRequest(BSTR ProviderName/*[in]*/, TVariantInParam Row/*[in]*/, 
                                  long RequestType/*[in]*/, TVariant* OwnerData/*[in,out]*/, 
                                  TVariant* Value/*[out,retval]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_RowRequest"), DISPID(20000005));
  TAutoArgs<4> _args;
  _args[1] = ProviderName /*[VT_BSTR:0]*/;
  _args[2] = Row /*[VT_VARIANT:0]*/;
  _args[3] = RequestType /*[VT_I4:0]*/;
  _args[4] = OwnerData /*[VT_VARIANT:1]*/;
  return OutRetValSetterPtr(Value /*[VT_VARIANT:1]*/, _args, OleFunction(_dispid, _args));
}

template <class T> TVariant __fastcall
IMyAppServDispT<T>::AS_RowRequest(BSTR ProviderName/*[in]*/, TVariantInParam Row/*[in]*/, 
                                  long RequestType/*[in]*/, TVariant* OwnerData/*[in,out]*/)
{
  TVariant Value;
  this->AS_RowRequest(ProviderName, Row, RequestType, OwnerData, (TVariant*)&Value);
  return Value;
}

template <class T> HRESULT __fastcall
IMyAppServDispT<T>::AS_Execute(BSTR ProviderName/*[in]*/, BSTR CommandText/*[in]*/, 
                               TVariant* Params/*[in,out]*/, TVariant* OwnerData/*[in,out]*/)
{
  _TDispID _dispid(*this, OLETEXT("AS_Execute"), DISPID(20000006));
  TAutoArgs<4> _args;
  _args[1] = ProviderName /*[VT_BSTR:0]*/;
  _args[2] = CommandText /*[VT_BSTR:0]*/;
  _args[3] = Params /*[VT_VARIANT:1]*/;
  _args[4] = OwnerData /*[VT_VARIANT:1]*/;
  return OleFunction(_dispid, _args);
}

// *********************************************************************//
// DispIntf:  IMyAppServEvents
// Flags:     (4096) Dispatchable
// GUID:      {CE3A2A6A-E9A9-4369-BA43-96D970345FDD}
// *********************************************************************//
// *********************************************************************//
// The following typedefs expose classes (named CoCoClassName) that       
// provide static Create() and CreateRemote(LPWSTR machineName) methods   
// for creating an instance of an exposed object. These functions can     
// be used by client wishing to automate CoClasses exposed by this        
// typelibrary.                                                           
// *********************************************************************//

// *********************************************************************//
// COCLASS DEFAULT INTERFACE CREATOR
// CoClass  : MyAppServ
// Interface: TCOMIMyAppServ
// *********************************************************************//
typedef TCoClassCreatorT<TCOMIMyAppServ, IMyAppServ, &CLSID_MyAppServ, &IID_IMyAppServ> CoMyAppServ;
#endif  //   __TLB_NO_INTERFACE_WRAPPERS


#if !defined(__TLB_NO_EVENT_WRAPPERS) && defined(USING_ATLVCL)
// *********************************************************************//
// CONNECTIONPOINT/EVENT PROXY
// CoClass         : MyAppServ
// Event Interface : IMyAppServEvents
// *********************************************************************//
template <class T>
class TEvents_MyAppServ : public IConnectionPointImpl<T,
                                                 &DIID_IMyAppServEvents,
                                                 CComUnkArray<CONNECTIONPOINT_ARRAY_SIZE> >
{
public:
protected:
  IMyAppServEventsDisp m_EventIntfObj;
};

#endif  //   __TLB_NO_EVENT_WRAPPERS

};     // namespace Project1_tlb

#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using  namespace Project1_tlb;
#endif

#pragma option pop

#endif // __Project1_TLB_h__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -