home *** CD-ROM | disk | FTP | other *** search
- #include <windows.h>
- #include <stdio.h>
- #include "ExtSrc.h"
-
- DWORD NumRows = 15;
- DWORD NumColumns = 3;
-
- extern "C" int _export ExtSrcConnect(TExtParamBlock *param_block)
- {
- char *UserData = new char[100];
- strcpy(UserData, "My Data");
- param_block->UserData = (VOID*) UserData;
- return EXT_SRC_SUCCESS;
- } // ExtSrcConnect
-
- extern "C" int _export ExtSrcDisconnect(TExtParamBlock *param_block)
- {
- delete [] (char*)param_block->UserData;
- return EXT_SRC_SUCCESS;
- } // ExtSrcDisconnect
-
- extern "C" int _export ExtSrcFetchNextRow(TExtParamBlock *param_block)
- {
- return (param_block->CurrRow >= NumRows)?EXT_SRC_NODATA:EXT_SRC_SUCCESS;
- } // ExtSrcFetchNextRow
-
- extern "C" int _export ExtSrcGetNextColumn(TExtParamBlock *param_block, UCHAR *buffer, DWORD blen, DWORD *actlen)
- {
- if(buffer && blen > 32) {
- sprintf((char*)buffer, "Row:%03d Col:%03d", param_block->CurrRow, param_block->CurrColumn);
- if(actlen)
- *actlen = strlen((char*)buffer) + 1;
- } // if
- return EXT_SRC_SUCCESS;
- } // ExtSrcGetNextColumn
-
- extern "C" int _export ExtSrcExecuteQuery(TExtParamBlock *param_block, char *p1, char *p2, char *p3)
- {
- return NumColumns;
- } // ExtSrcExecuteQuery
-
- BOOL WINAPI DllEntryPoint(HINSTANCE, DWORD reason, LPVOID)
- {
- switch (reason) {
- case DLL_PROCESS_ATTACH:
- break;
- case DLL_PROCESS_DETACH:
- break;
- } // switch
- return TRUE;
- } // DllEntryPoint
-