Hi guys,
I'm writing a simply DLL in order to detect visibility distance and condition an object in my scenery. Here's the code:
#include "fsmodule.h"
#include
#include "FSUIPC_User.h"
LINKAGE Linkage =
{
//0x000002d9,
0x00000000,
module_init,
module_deinit,
0,
0,
0x900,
NULL
};
IMPORTTABLE ImportTable =
{
{
0x00000000, NULL
}
};
WORD LowVis=1;
UINT_PTR TimerFSUIPC, VisibilityTimer;
BYTE FSUIPCMemory[500];
VOID CALLBACK Visibility(HWND hwnd, UINT uMsg,UINT_PTR idEvent, DWORD dwTime)
{
DWORD dwResult;
BYTE IsLowVisibility;
FSUIPC_Write(0x8001, 12, "IKB3BI67TCHEtest.dll", &dwResult);
FSUIPC_Process(&dwResult);
FSUIPC_Read(0x0E8A, 2, (BYTE*)&IsLowVisibility, &dwResult);
FSUIPC_Process(&dwResult);
//visibility is lower than 3 miles
if (IsLowVisibility<=3.0) {
FSUIPC_Write(0x0DDE, 2, &LowVis, &dwResult);
FSUIPC_Process(&dwResult);
}
}
VOID CALLBACK InitFSUIPC(HWND hwnd, UINT uMsg,UINT_PTR idEvent, DWORD dwTime)
{
DWORD dwResult;
if (FSUIPC_Open2(SIM_ANY, &dwResult, (BYTE*)FSUIPCMemory, 500)) {
KillTimer(NULL,TimerFSUIPC);
VisibilityTimer=SetTimer(NULL,1,2000,Visibility);
}
}
void FSAPI module_init ()
{
TimerFSUIPC=SetTimer (NULL,0,2000,InitFSUIPC);
}
void FSAPI module_deinit ()
{
KillTimer (NULL,VisibilityTimer);
FSUIPC_Close ();
}
Basically nothing happens, the DLL should be ok, what's wrong?
tx!