home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1998 October / dpcb1098.iso / Business / Maxim / MAX5 / data.z / MaxInterface.cpp < prev    next >
C/C++ Source or Header  |  1998-05-15  |  16KB  |  497 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. // NAME.......: MaxInterface.CPP                                               
  3. // PURPOSE....: Maximizer OLE Automation classes Application and CurrentRecord created 
  4. //              from Maximizer Type Library 4.0 (MaxWin.tlb).
  5. // WRITTEN....: 96/09/27 by Darko Juvan
  6. // DESCRIPTION: Machine generated IDispatch wrapper class(es) created with ClassWizard
  7. //
  8. // This code and information is provided "as is" without warranty of any
  9. // kind, either expressed or implied, including but not limited to the
  10. // implied warranties of merchantability and/or fitness for a particular
  11. // purpose..
  12. //
  13. // Copyright (c) 1998  Multiactive Software Inc.  All Rights Reserved.
  14. //
  15. //////////////////////////////////////////////////////////////////////////////
  16.  
  17. #include "stdafx.h"
  18. #include "maxinterface.h"
  19.  
  20. #ifdef _DEBUG
  21. #define new DEBUG_NEW
  22. #undef THIS_FILE
  23. static char THIS_FILE[] = __FILE__;
  24. #endif
  25.  
  26.  
  27.  
  28. /////////////////////////////////////////////////////////////////////////////
  29. // IMaxApp properties
  30.  
  31. /////////////////////////////////////////////////////////////////////////////
  32. // IMaxApp operations
  33.  
  34. CString IMaxApp::GetActiveWindow()
  35. {
  36.     CString result;
  37.     InvokeHelper(0x1, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
  38.     return result;
  39. }
  40.  
  41. CString IMaxApp::GetCurrentDBPath()
  42. {
  43.     CString result;
  44.     InvokeHelper(0x2, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
  45.     return result;
  46. }
  47.  
  48. CString IMaxApp::GetCurrentUser()
  49. {
  50.     CString result;
  51.     InvokeHelper(0x3, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
  52.     return result;
  53. }
  54.  
  55. BOOL IMaxApp::GetBusyIndicator()
  56. {
  57.     BOOL result;
  58.     InvokeHelper(0x4, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  59.     return result;
  60. }
  61.  
  62. BOOL IMaxApp::GetSecurityStatus()
  63. {
  64.     BOOL result;
  65.     InvokeHelper(0x5, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  66.     return result;
  67. }
  68.  
  69. CString IMaxApp::GetDatabaseList()
  70. {
  71.     CString result;
  72.     InvokeHelper(0x6, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
  73.     return result;
  74. }
  75.  
  76. CString IMaxApp::GetVisibilityState()
  77. {
  78.     CString result;
  79.     InvokeHelper(0x7, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
  80.     return result;
  81. }
  82.  
  83. void IMaxApp::SetVisibilityState(LPCTSTR VisibleState)
  84. {
  85.     static BYTE parms[] =
  86.         VTS_BSTR;
  87.     InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  88.          VisibleState);
  89. }
  90.  
  91. void IMaxApp::OpenDatabase(LPCTSTR command, const VARIANT& description, const VARIANT& path, const VARIANT& userid, const VARIANT& password)
  92. {
  93.     static BYTE parms[] =
  94.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  95.     InvokeHelper(0x9, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  96.          command, &description, &path, &userid, &password);
  97. }
  98.  
  99. void IMaxApp::AddNewCategory(LPCTSTR type1, LPCTSTR type2, LPCTSTR text, const VARIANT& attribute1, const VARIANT& attribute2, const VARIANT& attribute3, const VARIANT& attribute4, const VARIANT& attribute5)
  100. {
  101.     static BYTE parms[] =
  102.         VTS_BSTR VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  103.     InvokeHelper(0xa, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  104.          type1, type2, text, &attribute1, &attribute2, &attribute3, &attribute4, &attribute5);
  105. }
  106.  
  107. void IMaxApp::MakeMarkedListActive()
  108. {
  109.     InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  110. }
  111.  
  112. void IMaxApp::ActivateWindow(LPCTSTR window)
  113. {
  114.     static BYTE parms[] =
  115.         VTS_BSTR;
  116.     InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  117.          window);
  118. }
  119.  
  120. void IMaxApp::CreateListToFile(LPCTSTR type, LPCTSTR filename)
  121. {
  122.     static BYTE parms[] =
  123.         VTS_BSTR VTS_BSTR;
  124.     InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  125.          type, filename);
  126. }
  127.  
  128. void IMaxApp::CatalogList(LPCTSTR type, const VARIANT& catalog, const VARIANT& filename, const VARIANT& condition1, const VARIANT& condition2)
  129. {
  130.     static BYTE parms[] =
  131.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  132.     InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  133.          type, &catalog, &filename, &condition1, &condition2);
  134. }
  135.  
  136. void IMaxApp::ListOfCategories(LPCTSTR type, const VARIANT& table, const VARIANT& filename)
  137. {
  138.     static BYTE parms[] =
  139.         VTS_BSTR VTS_VARIANT VTS_VARIANT;
  140.     InvokeHelper(0xf, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  141.          type, &table, &filename);
  142. }
  143.  
  144. void IMaxApp::SetAlarm(LPCTSTR condition)
  145. {
  146.     static BYTE parms[] =
  147.         VTS_BSTR;
  148.     InvokeHelper(0x10, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  149.          condition);
  150. }
  151.  
  152. void IMaxApp::SetCloseAlert(short condition, const VARIANT& text)
  153. {
  154.     static BYTE parms[] =
  155.         VTS_I2 VTS_VARIANT;
  156.     InvokeHelper(0x11, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  157.          condition, &text);
  158. }
  159.  
  160. void IMaxApp::RunMacro(LPCTSTR description, const VARIANT& count)
  161. {
  162.     static BYTE parms[] =
  163.         VTS_BSTR VTS_VARIANT;
  164.     InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  165.          description, &count);
  166. }
  167.  
  168. void IMaxApp::StartEditor()
  169. {
  170.     InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  171. }
  172.  
  173. void IMaxApp::ShowBuildListDlg(BOOL condition)
  174. {
  175.     static BYTE parms[] =
  176.         VTS_BOOL;
  177.     InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  178.          condition);
  179. }
  180.  
  181. LPDISPATCH IMaxApp::GetCurrentRecordObject()
  182. {
  183.     LPDISPATCH result;
  184.     InvokeHelper(0x15, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
  185.     return result;
  186. }
  187.  
  188. void IMaxApp::CloseDatabase()
  189. {
  190.     InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  191. }
  192.  
  193.  
  194. /////////////////////////////////////////////////////////////////////////////
  195. // ICurrentRec properties
  196.  
  197. /////////////////////////////////////////////////////////////////////////////
  198. // ICurrentRec operations
  199.  
  200. LPDISPATCH ICurrentRec::GetApplicationObject()
  201. {
  202.     LPDISPATCH result;
  203.     InvokeHelper(0x1, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
  204.     return result;
  205. }
  206.  
  207. long ICurrentRec::GetListCount()
  208. {
  209.     long result;
  210.     InvokeHelper(0x2, DISPATCH_METHOD, VT_I4, (void*)&result, NULL);
  211.     return result;
  212. }
  213.  
  214. void ICurrentRec::SetFieldValue(LPCTSTR field, LPCTSTR value)
  215. {
  216.     static BYTE parms[] =
  217.         VTS_BSTR VTS_BSTR;
  218.     InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  219.          field, value);
  220. }
  221.  
  222. void ICurrentRec::AddNote(LPCTSTR text)
  223. {
  224.     static BYTE parms[] =
  225.         VTS_BSTR;
  226.     InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  227.          text);
  228. }
  229.  
  230. void ICurrentRec::AddMailMergeNote(LPCTSTR text)
  231. {
  232.     static BYTE parms[] =
  233.         VTS_BSTR;
  234.     InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  235.          text);
  236. }
  237.  
  238. void ICurrentRec::AddPhoneCallNote(LPCTSTR text)
  239. {
  240.     static BYTE parms[] =
  241.         VTS_BSTR;
  242.     InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  243.          text);
  244. }
  245.  
  246. void ICurrentRec::AddTimedNote(LPCTSTR text)
  247. {
  248.     static BYTE parms[] =
  249.         VTS_BSTR;
  250.     InvokeHelper(0x7, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  251.          text);
  252. }
  253.  
  254. void ICurrentRec::AddMaxMergeNote(LPCTSTR text)
  255. {
  256.     static BYTE parms[] =
  257.         VTS_BSTR;
  258.     InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  259.          text);
  260. }
  261.  
  262. CString ICurrentRec::GetFieldValue(LPCTSTR field)
  263. {
  264.     CString result;
  265.     static BYTE parms[] =
  266.         VTS_BSTR;
  267.     InvokeHelper(0x9, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
  268.         field);
  269.     return result;
  270. }
  271.  
  272. BOOL ICurrentRec::IsRecordMarked()
  273. {
  274.     BOOL result;
  275.     InvokeHelper(0xa, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
  276.     return result;
  277. }
  278.  
  279. void ICurrentRec::Dial(LPCTSTR type, const VARIANT& string)
  280. {
  281.     static BYTE parms[] =
  282.         VTS_BSTR VTS_VARIANT;
  283.     InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  284.          type, &string);
  285. }
  286.  
  287. void ICurrentRec::ExecuteUpdate(BOOL condition)
  288. {
  289.     static BYTE parms[] =
  290.         VTS_BOOL;
  291.     InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  292.          condition);
  293. }
  294.  
  295. void ICurrentRec::InitAndCreateRecord(LPCTSTR type, LPCTSTR name, const VARIANT& id, const VARIANT& address)
  296. {
  297.     static BYTE parms[] =
  298.         VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT;
  299.     InvokeHelper(0xd, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  300.          type, name, &id, &address);
  301. }
  302.  
  303. void ICurrentRec::AddAppointment(LPCTSTR date, LPCTSTR time1, LPCTSTR time2, LPCTSTR text, const VARIANT& personal, const VARIANT& alarm, const VARIANT& alarm_time, const VARIANT& iconType, const VARIANT& priority, const VARIANT& completed)
  304. {
  305.     static BYTE parms[] =
  306.         VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  307.     InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  308.          date, time1, time2, text, &personal, &alarm, &alarm_time, &iconType, &priority, &completed);
  309. }
  310.  
  311. void ICurrentRec::AddHotListTask(LPCTSTR date, LPCTSTR time, LPCTSTR text, const VARIANT& personal, const VARIANT& iconType, const VARIANT& priority, const VARIANT& completed)
  312. {
  313.     static BYTE parms[] =
  314.         VTS_BSTR VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  315.     InvokeHelper(0xf, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  316.          date, time, text, &personal, &iconType, &priority, &completed);
  317. }
  318.  
  319. void ICurrentRec::AddNoteFromClipboard(LPCTSTR type)
  320. {
  321.     static BYTE parms[] =
  322.         VTS_BSTR;
  323.     InvokeHelper(0x10, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  324.          type);
  325. }
  326.  
  327. void ICurrentRec::AddOLEDocument(LPCTSTR type, const VARIANT& filename, const VARIANT& description, const VARIANT& pub, const VARIANT& activate, const VARIANT& disp_as_icon, const VARIANT& link)
  328. {
  329.     static BYTE parms[] =
  330.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  331.     InvokeHelper(0x11, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  332.          type, &filename, &description, &pub, &activate, &disp_as_icon, &link);
  333. }
  334.  
  335. void ICurrentRec::ListAll(LPCTSTR type)
  336. {
  337.     static BYTE parms[] =
  338.         VTS_BSTR;
  339.     InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  340.          type);
  341. }
  342.  
  343. void ICurrentRec::MarkRecord(LPCTSTR type)
  344. {
  345.     static BYTE parms[] =
  346.         VTS_BSTR;
  347.     InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  348.          type);
  349. }
  350.  
  351. void ICurrentRec::RefreshWindows(BOOL condition)
  352. {
  353.     static BYTE parms[] =
  354.         VTS_BOOL;
  355.     InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  356.          condition);
  357. }
  358.  
  359. void ICurrentRec::ScrollList(LPCTSTR direction)
  360. {
  361.     static BYTE parms[] =
  362.         VTS_BSTR;
  363.     InvokeHelper(0x15, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  364.          direction);
  365. }
  366.  
  367. void ICurrentRec::SetCategoryDelimiter(LPCTSTR delimiter)
  368. {
  369.     static BYTE parms[] =
  370.         VTS_BSTR;
  371.     InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  372.          delimiter);
  373. }
  374.  
  375. void ICurrentRec::SetListColumns(LPCTSTR description)
  376. {
  377.     static BYTE parms[] =
  378.         VTS_BSTR;
  379.     InvokeHelper(0x17, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  380.          description);
  381. }
  382.  
  383. void ICurrentRec::SetUpdateMode(LPCTSTR condition)
  384. {
  385.     static BYTE parms[] =
  386.         VTS_BSTR;
  387.     InvokeHelper(0x18, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  388.          condition);
  389. }
  390.  
  391. void ICurrentRec::SortOnColumn(short column)
  392. {
  393.     static BYTE parms[] =
  394.         VTS_I2;
  395.     InvokeHelper(0x19, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  396.          column);
  397. }
  398.  
  399. void ICurrentRec::StartDocument()
  400. {
  401.     InvokeHelper(0x1a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  402. }
  403.  
  404. void ICurrentRec::Transfer(LPCTSTR type, const VARIANT& db_description, const VARIANT& db_path, const VARIANT& userid, const VARIANT& password, const VARIANT& udf, const VARIANT& document, const VARIANT& notes, const VARIANT& appointments, 
  405.         const VARIANT& text, const VARIANT& history, const VARIANT& duplicates, const VARIANT& use_modify_flag, const VARIANT& reset_modify_flag, const VARIANT& result_filename)
  406. {
  407.     static BYTE parms[] =
  408.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  409.     InvokeHelper(0x1b, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  410.          type, &db_description, &db_path, &userid, &password, &udf, &document, ¬es, &appointments, &text, &history, &duplicates, &use_modify_flag, &reset_modify_flag, &result_filename);
  411. }
  412.  
  413. void ICurrentRec::UndoSearch()
  414. {
  415.     InvokeHelper(0x1c, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  416. }
  417.  
  418. void ICurrentRec::SearchByClientID(LPCTSTR search_string, const VARIANT& contactNo, const VARIANT& condition)
  419. {
  420.     static BYTE parms[] =
  421.         VTS_BSTR VTS_VARIANT VTS_VARIANT;
  422.     InvokeHelper(0x1d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  423.          search_string, &contactNo, &condition);
  424. }
  425.  
  426. void ICurrentRec::SearchByLastName(LPCTSTR search_string, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3)
  427. {
  428.     static BYTE parms[] =
  429.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  430.     InvokeHelper(0x1e, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  431.          search_string, &condition1, &condition2, &condition3);
  432. }
  433.  
  434. void ICurrentRec::SearchByFirstName(LPCTSTR search_string, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3)
  435. {
  436.     static BYTE parms[] =
  437.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  438.     InvokeHelper(0x1f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  439.          search_string, &condition1, &condition2, &condition3);
  440. }
  441.  
  442. void ICurrentRec::SearchByPosition(LPCTSTR search_string, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3)
  443. {
  444.     static BYTE parms[] =
  445.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  446.     InvokeHelper(0x20, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  447.          search_string, &condition1, &condition2, &condition3);
  448. }
  449.  
  450. void ICurrentRec::SearchByCompany(LPCTSTR type, LPCTSTR search_string, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3, const VARIANT& condition4)
  451. {
  452.     static BYTE parms[] =
  453.         VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  454.     InvokeHelper(0x21, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  455.          type, search_string, &condition1, &condition2, &condition3, &condition4);
  456. }
  457.  
  458. void ICurrentRec::SearchByAddress(LPCTSTR type, LPCTSTR search_string, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3, const VARIANT& condition4)
  459. {
  460.     static BYTE parms[] =
  461.         VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  462.     InvokeHelper(0x22, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  463.          type, search_string, &condition1, &condition2, &condition3, &condition4);
  464. }
  465.  
  466. void ICurrentRec::SearchByPhone(short phoneNo, LPCTSTR search_string, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3, const VARIANT& condition4)
  467. {
  468.     static BYTE parms[] =
  469.         VTS_I2 VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  470.     InvokeHelper(0x23, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  471.          phoneNo, search_string, &condition1, &condition2, &condition3, &condition4);
  472. }
  473.  
  474. void ICurrentRec::SearchByLastChangeDate(LPCTSTR start_date, LPCTSTR end_date, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3, const VARIANT& condition4)
  475. {
  476.     static BYTE parms[] =
  477.         VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  478.     InvokeHelper(0x24, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  479.          start_date, end_date, &condition1, &condition2, &condition3, &condition4);
  480. }
  481.  
  482. void ICurrentRec::SearchByCategories(LPCTSTR udf_name, LPCTSTR search_string1, const VARIANT& search_string2, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3, const VARIANT& condition4, const VARIANT& condition5)
  483. {
  484.     static BYTE parms[] =
  485.         VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  486.     InvokeHelper(0x25, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  487.          udf_name, search_string1, &search_string2, &condition1, &condition2, &condition3, &condition4, &condition5);
  488. }
  489.  
  490. void ICurrentRec::SearchByNotes(LPCTSTR search_string, const VARIANT& start_date, const VARIANT& end_date, const VARIANT& condition1, const VARIANT& condition2, const VARIANT& condition3, const VARIANT& condition4, const VARIANT& condition5)
  491. {
  492.     static BYTE parms[] =
  493.         VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  494.     InvokeHelper(0x26, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  495.          search_string, &start_date, &end_date, &condition1, &condition2, &condition3, &condition4, &condition5);
  496. }
  497.