MXIO Software Development Kit
C++ Sample Code Programming Guide
 All Classes Files Functions Variables Typedefs Macros Groups Pages
Functions | Variables
LIBDateVersion.cpp File Reference

Get LIB Date and Version More...

#include <stdio.h>
#include <stdlib.h>
#include "../../../../include/MXIO_V3_4500.h"

Functions

int MXCreateLibrary (HMODULE *phMXIO_V3_4500, CMXIO_V3_4500 **pMXIO_V3_4500, char *szLibName)
 
int MXDestroyLibrary (HMODULE hMXIO_V3_4500, CMXIO_V3_4500 **pMXIO_V3_4500)
 
void WaitPressAnyKey ()
 
int main (int argc, char *argv[])
 

Variables

HMODULE g_hMXIO_V3_4500 = NULL
 
CMXIO_V3_4500g_pMXIO_V3_4500 = NULL
 

Detailed Description

Get LIB Date and Version

Date
02/25/2019
Author
Daniel Chang
Version
V1.0

Function Documentation

int MXCreateLibrary ( HMODULE *  phMXIO_V3_4500,
CMXIO_V3_4500 **  pMXIO_V3_4500,
char *  szLibName 
)
int MXDestroyLibrary ( HMODULE  hMXIO_V3_4500,
CMXIO_V3_4500 **  pMXIO_V3_4500 
)
void WaitPressAnyKey ( )
int main ( int  argc,
char *  argv[] 
)
/*******************************************************************************
* Copyright Moxa Inc.
*
*
* Date Author Comment
* 02/25/2019 Daniel Chang Created.
******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "../../../../include/MXIO_V3_4500.h"
//-----------------------------------------------------------------
int MXCreateLibrary(HMODULE *phMXIO_V3_4500, CMXIO_V3_4500 **pMXIO_V3_4500, char *szLibName);
int MXDestroyLibrary(HMODULE hMXIO_V3_4500, CMXIO_V3_4500 **pMXIO_V3_4500);
//-----------------------------------------------------------------
HMODULE g_hMXIO_V3_4500 = NULL;
CMXIO_V3_4500 *g_pMXIO_V3_4500 = NULL;
//-----------------------------------------------------------------
int main(int argc, char *argv[])
{
char bytInputValue[64] = {'\0'};
char szIP[] = "192.168.127.253";
memset(&MxMACAddr, 0, sizeof(MxMACAddr));
char szMACAddr[18] = {'\0'};//"00-90-e8-00-00-41";
DWORD dwTimeout = 3000;
int ihConnection = 0;
sprintf(AccountData.szUserName,"%s", (char*)"admin");
sprintf(AccountData.szPwd,"%s", (char*)"moxa");
//-----------------------------------------------
char IPAddress[16] = {'\0'};
char szTempBuf[16] = {'\0'};
sprintf(IPAddress, "%s", szIP);
if (argc <= 1)
{
printf("Cmd Format: [IP Address] [Timeout] [TCP Port]\n");
strcpy(IPAddress, szIP);
}
//
if (argc > 1)
sprintf(IPAddress, "%s", argv[1]);
if (argc > 2)
dwTimeout = atoi(argv[2]);
if (argc > 3)
wPort = atoi(argv[3]);
printf("Input IP Address=%s, TimeOut=%d, TCP Port=%d\n", IPAddress, dwTimeout, wPort);
//-----------------------
int iRet = MXIO_V3_OK;
iRet = MXCreateLibrary(&g_hMXIO_V3_4500, &g_pMXIO_V3_4500, "MXIO_4500.dll");
printf("MXCreateLibrary() g_pMXIO_V3_4500=0x%p return %d(0x%X)\n", g_pMXIO_V3_4500, iRet, iRet);
//-----------------------------------------------------
if(MXIO_V3_OK == iRet)
{
//LIB Version
CMXIO_V3_4500::MX_VERSION MxVersion = {'\0'};
g_pMXIO_V3_4500->MXIO_GetDllVersion(&MxVersion);
printf("LIB Version: %d.%d.%d.%d\n",
MxVersion.Major, MxVersion.Minor, MxVersion.Beta, MxVersion.Revision);
//LIB Build Date
CMXIO_V3_4500::MX_DATE MxDate = {'\0'};
g_pMXIO_V3_4500->MXIO_GetDllBuildDate(&MxDate);
printf("LIB Build Date: %d-%d-%d\n", MxDate.Year, MxDate.Month, MxDate.Day);
}
//-----------------------
if (NULL != g_hMXIO_V3_4500)
{
iRet = MXDestroyLibrary(g_hMXIO_V3_4500, &g_pMXIO_V3_4500);
printf("MXDestroyLibrary() return %d(0x%X)\n", iRet, iRet);
}
return 0;
}
//-----------------------------------------------------------------
int MXCreateLibrary(HMODULE *phMXIO_V3_4500, CMXIO_V3_4500 **pMXIO_V3_4500, char *szLibName)
{
*phMXIO_V3_4500 = LoadLibrary(szLibName);
if (NULL == *phMXIO_V3_4500)
return (GetLastError());
PFNCREATEMXIO_V3_4500 pfnCreateMXIO_V3_4500 = (PFNCREATEMXIO_V3_4500)GetProcAddress(*phMXIO_V3_4500, "CreateMXIO_4500");
if (NULL == pfnCreateMXIO_V3_4500)
return (-1);
*pMXIO_V3_4500 = pfnCreateMXIO_V3_4500();
return 0;
}
//-----------------------------------------------------------------
int MXDestroyLibrary(HMODULE hMXIO_V3_4500, CMXIO_V3_4500 **pMXIO_V3_4500)
{
PFNDESTROYMXIO_V3_4500 pfnDestroyMXIO_V3_4500 = (PFNDESTROYMXIO_V3_4500)GetProcAddress(hMXIO_V3_4500, "DestroyMXIO_4500");
if (NULL == pfnDestroyMXIO_V3_4500)
return (GetLastError());
pfnDestroyMXIO_V3_4500(*pMXIO_V3_4500);
FreeLibrary(hMXIO_V3_4500);
*pMXIO_V3_4500 = NULL;
return 0;
}
//-----------------------------------------------------------------
{
system("pause");
}
//-----------------------------------------------------------------

Variable Documentation

HMODULE g_hMXIO_V3_4500 = NULL
CMXIO_V3_4500* g_pMXIO_V3_4500 = NULL