gitee.com/haifengat/gotap_dipper@v0.0.4-0.20231212021028-041a6fa876e5/c/trade.cpp (about)

     1  #include "trade.h"
     2  #include <iostream>
     3  
     4  using namespace std;
     5  using namespace ITapTrade;
     6  Trade::Trade(void) {
     7      _OnConnect = NULL;
     8      _OnRspLogin = NULL;
     9      _OnRtnContactInfo = NULL;
    10      _OnRspRequestVertificateCode = NULL;
    11      _OnExpriationDate = NULL;
    12      _OnAPIReady = NULL;
    13      _OnDisconnect = NULL;
    14      _OnRspChangePassword = NULL;
    15      _OnRspAuthPassword = NULL;
    16      _OnRspQryTradingDate = NULL;
    17      _OnRspSetReservedInfo = NULL;
    18      _OnRspQryAccount = NULL;
    19      _OnRspQryFund = NULL;
    20      _OnRtnFund = NULL;
    21      _OnRspQryExchange = NULL;
    22      _OnRspQryCommodity = NULL;
    23      _OnRspQryContract = NULL;
    24      _OnRtnContract = NULL;
    25      _OnRspOrderAction = NULL;
    26      _OnRtnOrder = NULL;
    27      _OnRspQryOrder = NULL;
    28      _OnRspQryOrderProcess = NULL;
    29      _OnRspQryFill = NULL;
    30      _OnRtnFill = NULL;
    31      _OnRspQryPosition = NULL;
    32      _OnRtnPosition = NULL;
    33      _OnRspQryPositionSummary = NULL;
    34      _OnRtnPositionSummary = NULL;
    35      _OnRtnPositionProfit = NULL;
    36      _OnRspQryCurrency = NULL;
    37      _OnRspQryTradeMessage = NULL;
    38      _OnRtnTradeMessage = NULL;
    39      _OnRspQryHisOrder = NULL;
    40      _OnRspQryHisOrderProcess = NULL;
    41      _OnRspQryHisMatch = NULL;
    42      _OnRspQryHisPosition = NULL;
    43      _OnRspQryHisDelivery = NULL;
    44      _OnRspQryAccountCashAdjust = NULL;
    45      _OnRspQryBill = NULL;
    46      _OnRspQryAccountFeeRent = NULL;
    47      _OnRspQryAccountMarginRent = NULL;
    48      _OnRspHKMarketOrderInsert = NULL;
    49      _OnRspHKMarketOrderDelete = NULL;
    50      _OnHKMarketQuoteNotice = NULL;
    51      _OnRspOrderLocalRemove = NULL;
    52      _OnRspOrderLocalInput = NULL;
    53      _OnRspOrderLocalModify = NULL;
    54      _OnRspOrderLocalTransfer = NULL;
    55      _OnRspFillLocalInput = NULL;
    56      _OnRspFillLocalRemove = NULL;
    57      _OnRspQrySpotLock = NULL;
    58      _OnRtnSpotLock = NULL;
    59      _OnRspSubmitUserLoginInfo = NULL;
    60      _OnRspSpecialOrderAction = NULL;
    61      _OnRtnSpecialOrder = NULL;
    62      _OnRspQrySpecialOrder = NULL;
    63      _OnRspQryCombinePosition = NULL;
    64      _OnRtnCombinePosition = NULL;
    65  }
    66  
    67  DLL_EXPORT_C_DECL void WINAPI SetOnConnect(Trade* spi, void* func) {
    68      spi->_OnConnect = func;
    69  }
    70  
    71  DLL_EXPORT_C_DECL void WINAPI SetOnRspLogin(Trade* spi, void* func) {
    72      spi->_OnRspLogin = func;
    73  }
    74  
    75  DLL_EXPORT_C_DECL void WINAPI SetOnRtnContactInfo(Trade* spi, void* func) {
    76      spi->_OnRtnContactInfo = func;
    77  }
    78  
    79  DLL_EXPORT_C_DECL void WINAPI SetOnRspRequestVertificateCode(Trade* spi, void* func) {
    80      spi->_OnRspRequestVertificateCode = func;
    81  }
    82  
    83  DLL_EXPORT_C_DECL void WINAPI SetOnExpriationDate(Trade* spi, void* func) {
    84      spi->_OnExpriationDate = func;
    85  }
    86  
    87  DLL_EXPORT_C_DECL void WINAPI SetOnAPIReady(Trade* spi, void* func) {
    88      spi->_OnAPIReady = func;
    89  }
    90  
    91  DLL_EXPORT_C_DECL void WINAPI SetOnDisconnect(Trade* spi, void* func) {
    92      spi->_OnDisconnect = func;
    93  }
    94  
    95  DLL_EXPORT_C_DECL void WINAPI SetOnRspChangePassword(Trade* spi, void* func) {
    96      spi->_OnRspChangePassword = func;
    97  }
    98  
    99  DLL_EXPORT_C_DECL void WINAPI SetOnRspAuthPassword(Trade* spi, void* func) {
   100      spi->_OnRspAuthPassword = func;
   101  }
   102  
   103  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryTradingDate(Trade* spi, void* func) {
   104      spi->_OnRspQryTradingDate = func;
   105  }
   106  
   107  DLL_EXPORT_C_DECL void WINAPI SetOnRspSetReservedInfo(Trade* spi, void* func) {
   108      spi->_OnRspSetReservedInfo = func;
   109  }
   110  
   111  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryAccount(Trade* spi, void* func) {
   112      spi->_OnRspQryAccount = func;
   113  }
   114  
   115  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryFund(Trade* spi, void* func) {
   116      spi->_OnRspQryFund = func;
   117  }
   118  
   119  DLL_EXPORT_C_DECL void WINAPI SetOnRtnFund(Trade* spi, void* func) {
   120      spi->_OnRtnFund = func;
   121  }
   122  
   123  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryExchange(Trade* spi, void* func) {
   124      spi->_OnRspQryExchange = func;
   125  }
   126  
   127  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryCommodity(Trade* spi, void* func) {
   128      spi->_OnRspQryCommodity = func;
   129  }
   130  
   131  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryContract(Trade* spi, void* func) {
   132      spi->_OnRspQryContract = func;
   133  }
   134  
   135  DLL_EXPORT_C_DECL void WINAPI SetOnRtnContract(Trade* spi, void* func) {
   136      spi->_OnRtnContract = func;
   137  }
   138  
   139  DLL_EXPORT_C_DECL void WINAPI SetOnRspOrderAction(Trade* spi, void* func) {
   140      spi->_OnRspOrderAction = func;
   141  }
   142  
   143  DLL_EXPORT_C_DECL void WINAPI SetOnRtnOrder(Trade* spi, void* func) {
   144      spi->_OnRtnOrder = func;
   145  }
   146  
   147  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryOrder(Trade* spi, void* func) {
   148      spi->_OnRspQryOrder = func;
   149  }
   150  
   151  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryOrderProcess(Trade* spi, void* func) {
   152      spi->_OnRspQryOrderProcess = func;
   153  }
   154  
   155  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryFill(Trade* spi, void* func) {
   156      spi->_OnRspQryFill = func;
   157  }
   158  
   159  DLL_EXPORT_C_DECL void WINAPI SetOnRtnFill(Trade* spi, void* func) {
   160      spi->_OnRtnFill = func;
   161  }
   162  
   163  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryPosition(Trade* spi, void* func) {
   164      spi->_OnRspQryPosition = func;
   165  }
   166  
   167  DLL_EXPORT_C_DECL void WINAPI SetOnRtnPosition(Trade* spi, void* func) {
   168      spi->_OnRtnPosition = func;
   169  }
   170  
   171  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryPositionSummary(Trade* spi, void* func) {
   172      spi->_OnRspQryPositionSummary = func;
   173  }
   174  
   175  DLL_EXPORT_C_DECL void WINAPI SetOnRtnPositionSummary(Trade* spi, void* func) {
   176      spi->_OnRtnPositionSummary = func;
   177  }
   178  
   179  DLL_EXPORT_C_DECL void WINAPI SetOnRtnPositionProfit(Trade* spi, void* func) {
   180      spi->_OnRtnPositionProfit = func;
   181  }
   182  
   183  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryCurrency(Trade* spi, void* func) {
   184      spi->_OnRspQryCurrency = func;
   185  }
   186  
   187  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryTradeMessage(Trade* spi, void* func) {
   188      spi->_OnRspQryTradeMessage = func;
   189  }
   190  
   191  DLL_EXPORT_C_DECL void WINAPI SetOnRtnTradeMessage(Trade* spi, void* func) {
   192      spi->_OnRtnTradeMessage = func;
   193  }
   194  
   195  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryHisOrder(Trade* spi, void* func) {
   196      spi->_OnRspQryHisOrder = func;
   197  }
   198  
   199  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryHisOrderProcess(Trade* spi, void* func) {
   200      spi->_OnRspQryHisOrderProcess = func;
   201  }
   202  
   203  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryHisMatch(Trade* spi, void* func) {
   204      spi->_OnRspQryHisMatch = func;
   205  }
   206  
   207  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryHisPosition(Trade* spi, void* func) {
   208      spi->_OnRspQryHisPosition = func;
   209  }
   210  
   211  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryHisDelivery(Trade* spi, void* func) {
   212      spi->_OnRspQryHisDelivery = func;
   213  }
   214  
   215  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryAccountCashAdjust(Trade* spi, void* func) {
   216      spi->_OnRspQryAccountCashAdjust = func;
   217  }
   218  
   219  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryBill(Trade* spi, void* func) {
   220      spi->_OnRspQryBill = func;
   221  }
   222  
   223  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryAccountFeeRent(Trade* spi, void* func) {
   224      spi->_OnRspQryAccountFeeRent = func;
   225  }
   226  
   227  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryAccountMarginRent(Trade* spi, void* func) {
   228      spi->_OnRspQryAccountMarginRent = func;
   229  }
   230  
   231  DLL_EXPORT_C_DECL void WINAPI SetOnRspHKMarketOrderInsert(Trade* spi, void* func) {
   232      spi->_OnRspHKMarketOrderInsert = func;
   233  }
   234  
   235  DLL_EXPORT_C_DECL void WINAPI SetOnRspHKMarketOrderDelete(Trade* spi, void* func) {
   236      spi->_OnRspHKMarketOrderDelete = func;
   237  }
   238  
   239  DLL_EXPORT_C_DECL void WINAPI SetOnHKMarketQuoteNotice(Trade* spi, void* func) {
   240      spi->_OnHKMarketQuoteNotice = func;
   241  }
   242  
   243  DLL_EXPORT_C_DECL void WINAPI SetOnRspOrderLocalRemove(Trade* spi, void* func) {
   244      spi->_OnRspOrderLocalRemove = func;
   245  }
   246  
   247  DLL_EXPORT_C_DECL void WINAPI SetOnRspOrderLocalInput(Trade* spi, void* func) {
   248      spi->_OnRspOrderLocalInput = func;
   249  }
   250  
   251  DLL_EXPORT_C_DECL void WINAPI SetOnRspOrderLocalModify(Trade* spi, void* func) {
   252      spi->_OnRspOrderLocalModify = func;
   253  }
   254  
   255  DLL_EXPORT_C_DECL void WINAPI SetOnRspOrderLocalTransfer(Trade* spi, void* func) {
   256      spi->_OnRspOrderLocalTransfer = func;
   257  }
   258  
   259  DLL_EXPORT_C_DECL void WINAPI SetOnRspFillLocalInput(Trade* spi, void* func) {
   260      spi->_OnRspFillLocalInput = func;
   261  }
   262  
   263  DLL_EXPORT_C_DECL void WINAPI SetOnRspFillLocalRemove(Trade* spi, void* func) {
   264      spi->_OnRspFillLocalRemove = func;
   265  }
   266  
   267  DLL_EXPORT_C_DECL void WINAPI SetOnRspQrySpotLock(Trade* spi, void* func) {
   268      spi->_OnRspQrySpotLock = func;
   269  }
   270  
   271  DLL_EXPORT_C_DECL void WINAPI SetOnRtnSpotLock(Trade* spi, void* func) {
   272      spi->_OnRtnSpotLock = func;
   273  }
   274  
   275  DLL_EXPORT_C_DECL void WINAPI SetOnRspSubmitUserLoginInfo(Trade* spi, void* func) {
   276      spi->_OnRspSubmitUserLoginInfo = func;
   277  }
   278  
   279  DLL_EXPORT_C_DECL void WINAPI SetOnRspSpecialOrderAction(Trade* spi, void* func) {
   280      spi->_OnRspSpecialOrderAction = func;
   281  }
   282  
   283  DLL_EXPORT_C_DECL void WINAPI SetOnRtnSpecialOrder(Trade* spi, void* func) {
   284      spi->_OnRtnSpecialOrder = func;
   285  }
   286  
   287  DLL_EXPORT_C_DECL void WINAPI SetOnRspQrySpecialOrder(Trade* spi, void* func) {
   288      spi->_OnRspQrySpecialOrder = func;
   289  }
   290  
   291  DLL_EXPORT_C_DECL void WINAPI SetOnRspQryCombinePosition(Trade* spi, void* func) {
   292      spi->_OnRspQryCombinePosition = func;
   293  }
   294  
   295  DLL_EXPORT_C_DECL void WINAPI SetOnRtnCombinePosition(Trade* spi, void* func) {
   296      spi->_OnRtnCombinePosition = func;
   297  }
   298  
   299  // 导出的请求函数
   300  /* DLL_EXPORT_C_DECL ITapTrade::ITapTradeAPI *TAP_CDECL CreateITapTradeAPI(const ITapTrade::TapAPIApplicationInfo *appInfo, ITapTrade::TAPIINT32 &iResult);
   301  DLL_EXPORT_C_DECL void TAP_CDECL FreeITapTradeAPI(ITapTrade::ITapTradeAPI *apiObj);
   302  DLL_EXPORT_C_DECL const ITapTrade::TAPICHAR *TAP_CDECL GetITapTradeAPIVersion();
   303  DLL_EXPORT_C_DECL const char  * TAP_CDECL GetITapErrorDescribe(ITapTrade::TAPIINT32 errorCode); */
   304  
   305  DLL_EXPORT_C_DECL void* WINAPI CreateITapTradeAPINotify() {
   306      // 要确保编译通过
   307      return new Trade();
   308  }
   309  DLL_EXPORT_C_DECL ITapTrade::ITapTradeAPI* WINAPI CreateTradeAPI(const ITapTrade::TapAPIApplicationInfo* appInfo, TAPIINT32* res) {
   310      TAPIINT32 iResult = 0;
   311      ITapTrade::ITapTradeAPI* api = CreateITapTradeAPI(appInfo, iResult);
   312      *res = iResult;
   313      return api;
   314  }
   315  DLL_EXPORT_C_DECL void WINAPI FreeITapTradeAPI(ITapTrade::ITapTradeAPI* apiObj) {
   316      return FreeITapTradeAPI(apiObj);
   317  }
   318  DLL_EXPORT_C_DECL void* WINAPI GetAPIVersion() {
   319      cout << "C++编译版本: " << __cplusplus << endl;
   320      return (void*)GetITapTradeAPIVersion();
   321  }
   322  DLL_EXPORT_C_DECL void* WINAPI GetErrorDescribe(ITapTrade::TAPIINT32 errorCode) {
   323      return (void*)GetITapErrorDescribe(errorCode);
   324  }
   325  
   326  DLL_EXPORT_C_DECL int WINAPI SetAPINotify(ITapTrade::ITapTradeAPI* api, ITapTradeAPINotify* pSpi) {
   327      return api->SetAPINotify(pSpi);
   328  }
   329  
   330  DLL_EXPORT_C_DECL int WINAPI SetHostAddress(ITapTrade::ITapTradeAPI* api, const TAPICHAR* IP, TAPIUINT16 port) {
   331      return api->SetHostAddress(IP, port);
   332  }
   333  
   334  DLL_EXPORT_C_DECL int WINAPI Login(ITapTrade::ITapTradeAPI* api, const TapAPITradeLoginAuth* loginAuth) {
   335      return api->Login(loginAuth);
   336  }
   337  
   338  DLL_EXPORT_C_DECL int WINAPI RequestVertificateCode(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, TAPISTR_40 ContactInfo) {
   339      return api->RequestVertificateCode(sessionID, ContactInfo);
   340  }
   341  
   342  DLL_EXPORT_C_DECL int WINAPI SetVertificateCode(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, TapAPISecondCertificationReq* req) {
   343      return api->SetVertificateCode(sessionID, req);
   344  }
   345  
   346  DLL_EXPORT_C_DECL int WINAPI Disconnect(ITapTrade::ITapTradeAPI* api) {
   347      return api->Disconnect();
   348  }
   349  
   350  DLL_EXPORT_C_DECL int WINAPI ChangePassword(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIChangePasswordReq* req) {
   351      return api->ChangePassword(sessionID, req);
   352  }
   353  
   354  DLL_EXPORT_C_DECL int WINAPI AuthPassword(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAuthPasswordReq* req) {
   355      return api->AuthPassword(sessionID, req);
   356  }
   357  
   358  DLL_EXPORT_C_DECL int WINAPI HaveCertainRight(ITapTrade::ITapTradeAPI* api, TAPIRightIDType rightID) {
   359      return api->HaveCertainRight(rightID);
   360  }
   361  
   362  DLL_EXPORT_C_DECL int WINAPI QryTradingDate(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID) {
   363      return api->QryTradingDate(sessionID);
   364  }
   365  
   366  DLL_EXPORT_C_DECL int WINAPI SetReservedInfo(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TAPISTR_50 info) {
   367      return api->SetReservedInfo(sessionID, info);
   368  }
   369  
   370  DLL_EXPORT_C_DECL int WINAPI QryAccount(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccQryReq* qryReq) {
   371      return api->QryAccount(sessionID, qryReq);
   372  }
   373  
   374  DLL_EXPORT_C_DECL int WINAPI QryFund(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIFundReq* qryReq) {
   375      return api->QryFund(sessionID, qryReq);
   376  }
   377  
   378  DLL_EXPORT_C_DECL int WINAPI QryExchange(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID) {
   379      return api->QryExchange(sessionID);
   380  }
   381  
   382  DLL_EXPORT_C_DECL int WINAPI QryCommodity(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID) {
   383      return api->QryCommodity(sessionID);
   384  }
   385  
   386  DLL_EXPORT_C_DECL int WINAPI QryContract(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPICommodity* qryReq) {
   387      return api->QryContract(sessionID, qryReq);
   388  }
   389  
   390  DLL_EXPORT_C_DECL int WINAPI InsertOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, TAPISTR_50* ClientOrderNo, const TapAPINewOrder* order) {
   391      return api->InsertOrder(sessionID, ClientOrderNo, order);
   392  }
   393  
   394  DLL_EXPORT_C_DECL int WINAPI CancelOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderCancelReq* order) {
   395      return api->CancelOrder(sessionID, order);
   396  }
   397  
   398  DLL_EXPORT_C_DECL int WINAPI AmendOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAmendOrder* order) {
   399      return api->AmendOrder(sessionID, order);
   400  }
   401  
   402  DLL_EXPORT_C_DECL int WINAPI ActivateOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderActivateReq* order) {
   403      return api->ActivateOrder(sessionID, order);
   404  }
   405  
   406  DLL_EXPORT_C_DECL int WINAPI QryOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderQryReq* qryReq) {
   407      return api->QryOrder(sessionID, qryReq);
   408  }
   409  
   410  DLL_EXPORT_C_DECL int WINAPI QryOrderProcess(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderProcessQryReq* qryReq) {
   411      return api->QryOrderProcess(sessionID, qryReq);
   412  }
   413  
   414  DLL_EXPORT_C_DECL int WINAPI QryFill(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIFillQryReq* qryReq) {
   415      return api->QryFill(sessionID, qryReq);
   416  }
   417  
   418  DLL_EXPORT_C_DECL int WINAPI QryPosition(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIPositionQryReq* qryReq) {
   419      return api->QryPosition(sessionID, qryReq);
   420  }
   421  
   422  DLL_EXPORT_C_DECL int WINAPI QryPositionSummary(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIPositionQryReq* qryReq) {
   423      return api->QryPositionSummary(sessionID, qryReq);
   424  }
   425  
   426  DLL_EXPORT_C_DECL int WINAPI QryCurrency(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID) {
   427      return api->QryCurrency(sessionID);
   428  }
   429  
   430  DLL_EXPORT_C_DECL int WINAPI QryAccountCashAdjust(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccountCashAdjustQryReq* qryReq) {
   431      return api->QryAccountCashAdjust(sessionID, qryReq);
   432  }
   433  
   434  DLL_EXPORT_C_DECL int WINAPI QryTradeMessage(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPITradeMessageReq* qryReq) {
   435      return api->QryTradeMessage(sessionID, qryReq);
   436  }
   437  
   438  DLL_EXPORT_C_DECL int WINAPI QryBill(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIBillQryReq* qryReq) {
   439      return api->QryBill(sessionID, qryReq);
   440  }
   441  
   442  DLL_EXPORT_C_DECL int WINAPI QryHisOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIHisOrderQryReq* qryReq) {
   443      return api->QryHisOrder(sessionID, qryReq);
   444  }
   445  
   446  DLL_EXPORT_C_DECL int WINAPI QryHisOrderProcess(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIHisOrderProcessQryReq* qryReq) {
   447      return api->QryHisOrderProcess(sessionID, qryReq);
   448  }
   449  
   450  DLL_EXPORT_C_DECL int WINAPI QryHisMatch(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIHisMatchQryReq* qryReq) {
   451      return api->QryHisMatch(sessionID, qryReq);
   452  }
   453  
   454  DLL_EXPORT_C_DECL int WINAPI QryHisPosition(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIHisPositionQryReq* qryReq) {
   455      return api->QryHisPosition(sessionID, qryReq);
   456  }
   457  
   458  DLL_EXPORT_C_DECL int WINAPI QryHisDelivery(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIHisDeliveryQryReq* qryReq) {
   459      return api->QryHisDelivery(sessionID, qryReq);
   460  }
   461  
   462  DLL_EXPORT_C_DECL int WINAPI QryAccountFeeRent(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccountFeeRentQryReq* qryReq) {
   463      return api->QryAccountFeeRent(sessionID, qryReq);
   464  }
   465  
   466  DLL_EXPORT_C_DECL int WINAPI QryAccountMarginRent(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccountMarginRentQryReq* qryReq) {
   467      return api->QryAccountMarginRent(sessionID, qryReq);
   468  }
   469  
   470  DLL_EXPORT_C_DECL int WINAPI InsertHKMarketOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, TAPISTR_50* ClientBuyOrderNo, TAPISTR_50* ClientSellOrderNo, const TapAPIOrderMarketInsertReq* order) {
   471      return api->InsertHKMarketOrder(sessionID, ClientBuyOrderNo, ClientSellOrderNo, order);
   472  }
   473  
   474  DLL_EXPORT_C_DECL int WINAPI CancelHKMarketOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderMarketDeleteReq* order) {
   475      return api->CancelHKMarketOrder(sessionID, order);
   476  }
   477  
   478  DLL_EXPORT_C_DECL int WINAPI OrderLocalRemove(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderLocalRemoveReq* order) {
   479      return api->OrderLocalRemove(sessionID, order);
   480  }
   481  
   482  DLL_EXPORT_C_DECL int WINAPI OrderLocalInput(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderLocalInputReq* order) {
   483      return api->OrderLocalInput(sessionID, order);
   484  }
   485  
   486  DLL_EXPORT_C_DECL int WINAPI OrderLocalModify(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderLocalModifyReq* order) {
   487      return api->OrderLocalModify(sessionID, order);
   488  }
   489  
   490  DLL_EXPORT_C_DECL int WINAPI OrderLocalTransfer(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIOrderLocalTransferReq* order) {
   491      return api->OrderLocalTransfer(sessionID, order);
   492  }
   493  
   494  DLL_EXPORT_C_DECL int WINAPI FillLocalInput(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIFillLocalInputReq* fill) {
   495      return api->FillLocalInput(sessionID, fill);
   496  }
   497  
   498  DLL_EXPORT_C_DECL int WINAPI FillLocalRemove(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIFillLocalRemoveReq* fill) {
   499      return api->FillLocalRemove(sessionID, fill);
   500  }
   501  
   502  DLL_EXPORT_C_DECL int WINAPI QrySpotLock(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPISpotLockQryReq* qryReq) {
   503      return api->QrySpotLock(sessionID, qryReq);
   504  }
   505  
   506  DLL_EXPORT_C_DECL int WINAPI SubmitUserLoginInfo(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPISubmitUserLoginInfo* qryReq) {
   507      return api->SubmitUserLoginInfo(sessionID, qryReq);
   508  }
   509  
   510  DLL_EXPORT_C_DECL int WINAPI InsertSpecialOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, TAPISTR_50* clientorderno, const TapAPISpecialOrderInsertReq* order) {
   511      return api->InsertSpecialOrder(sessionID, clientorderno, order);
   512  }
   513  
   514  DLL_EXPORT_C_DECL int WINAPI QrySpecialOrder(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPISpecialOrderQryReq* qryReq) {
   515      return api->QrySpecialOrder(sessionID, qryReq);
   516  }
   517  
   518  DLL_EXPORT_C_DECL int WINAPI QryCombinePosition(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPICombinePositionQryReq* qryReq) {
   519      return api->QryCombinePosition(sessionID, qryReq);
   520  }
   521  
   522  DLL_EXPORT_C_DECL int WINAPI QryUserTrustDevice(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIUserTrustDeviceQryReq* qryReq) {
   523      return api->QryUserTrustDevice(sessionID, qryReq);
   524  }
   525  
   526  DLL_EXPORT_C_DECL int WINAPI AddUserTrustDevice(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIUserTrustDeviceAddReq* qryReq) {
   527      return api->AddUserTrustDevice(sessionID, qryReq);
   528  }
   529  
   530  DLL_EXPORT_C_DECL int WINAPI DelUserTrustDevice(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIUserTrustDeviceDelReq* qryReq) {
   531      return api->DelUserTrustDevice(sessionID, qryReq);
   532  }
   533  
   534  DLL_EXPORT_C_DECL int WINAPI QryIPOInfo(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIIPOInfoQryReq* qryReq) {
   535      return api->QryIPOInfo(sessionID, qryReq);
   536  }
   537  
   538  DLL_EXPORT_C_DECL int WINAPI QryIPOStockQty(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAvailableApplyQryReq* qryReq) {
   539      return api->QryIPOStockQty(sessionID, qryReq);
   540  }
   541  
   542  DLL_EXPORT_C_DECL int WINAPI QryAccountIPO(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccountIPOQryReq* qryReq) {
   543      return api->QryAccountIPO(sessionID, qryReq);
   544  }
   545  
   546  DLL_EXPORT_C_DECL int WINAPI AddAccountIPO(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccountIPOAddReq* qryReq) {
   547      return api->AddAccountIPO(sessionID, qryReq);
   548  }
   549  
   550  DLL_EXPORT_C_DECL int WINAPI CancelAccountIPO(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIAccountIPOCancelReq* qryReq) {
   551      return api->CancelAccountIPO(sessionID, qryReq);
   552  }
   553  
   554  DLL_EXPORT_C_DECL int WINAPI UnFreeze(ITapTrade::ITapTradeAPI* api, const TapAPITradeLoginAuth* loginAuth) {
   555      return api->UnFreeze(loginAuth);
   556  }
   557  
   558  DLL_EXPORT_C_DECL int WINAPI VerificateUnFreezeInfo(ITapTrade::ITapTradeAPI* api, TAPIUINT32* sessionID, const TapAPIVerifyIdentityReq* qryReq) {
   559      return api->VerificateUnFreezeInfo(sessionID, qryReq);
   560  }