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!