home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / Tango / data.z / Ext_Demo.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1999-02-03  |  1.4 KB  |  52 lines

  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include "ExtSrc.h"
  4.  
  5. DWORD NumRows = 15;
  6. DWORD NumColumns = 3;
  7.  
  8. extern "C" int _export ExtSrcConnect(TExtParamBlock *param_block)
  9. {
  10.     char *UserData = new char[100];
  11.     strcpy(UserData, "My Data");
  12.     param_block->UserData = (VOID*) UserData;
  13.     return EXT_SRC_SUCCESS;
  14. } // ExtSrcConnect
  15.  
  16. extern "C" int _export ExtSrcDisconnect(TExtParamBlock *param_block)
  17. {
  18.     delete [] (char*)param_block->UserData;
  19.     return EXT_SRC_SUCCESS;
  20. } // ExtSrcDisconnect
  21.  
  22. extern "C" int _export ExtSrcFetchNextRow(TExtParamBlock *param_block)
  23. {
  24.     return (param_block->CurrRow >= NumRows)?EXT_SRC_NODATA:EXT_SRC_SUCCESS;
  25. } // ExtSrcFetchNextRow
  26.  
  27. extern "C" int _export ExtSrcGetNextColumn(TExtParamBlock *param_block, UCHAR *buffer, DWORD blen, DWORD *actlen)
  28. {
  29.     if(buffer && blen > 32) {
  30.         sprintf((char*)buffer, "Row:%03d Col:%03d", param_block->CurrRow, param_block->CurrColumn);
  31.         if(actlen)
  32.             *actlen = strlen((char*)buffer) + 1;
  33.     } // if
  34.     return EXT_SRC_SUCCESS;
  35. } // ExtSrcGetNextColumn
  36.  
  37. extern "C" int _export ExtSrcExecuteQuery(TExtParamBlock *param_block, char *p1, char *p2, char *p3)
  38. {
  39.     return NumColumns;
  40. } // ExtSrcExecuteQuery
  41.  
  42. BOOL WINAPI DllEntryPoint(HINSTANCE, DWORD  reason, LPVOID)
  43. {
  44.     switch (reason) {
  45.         case DLL_PROCESS_ATTACH:
  46.             break;
  47.         case DLL_PROCESS_DETACH:
  48.             break;
  49.     } // switch 
  50.     return TRUE;
  51. } // DllEntryPoint
  52.