my $DLL = 'D:\path\to\CrappyLibrary.dll';
my $IP = "192.168.186.140";
my $RegisterClient2 = Win32::API->new($DLL, 'int RegisterClient2(int *pnClientId, char *pszIPAddress)');
...
my $result = $RegisterClient2->Call($client_id, $IP);
####
my $RegisterClient2 = Win32::API->new($DLL, 'int _cdecl RegisterClient2(int *pnClientId, char *pszIPAddress)');
##
##
my $RegisterClient2 = Win32::API->new($S{DLL_path}, 'RegisterClient2', 'PP', 'I', '_cdecl');
my $result = $RegisterClient2->Call($client_id, $IP);
##
##
my $hash{IP} = "192.168.186.140";
my $result = $RegisterClient2->Call($client_id, $hash{IP});
# fails
##
##
int GetServerData2(int nClientId, int *pnSetup, double *pdTime,double *pdX, double *pdY, double *pdZ, double *pdTotal)
##
##
my $GetServerData2 = Win32::API->new($S{DLL_path}, 'GetServerData2', 'IPPPPPP', 'I', '_cdecl');
##
##
my ($time, $Ex, $Ey, $Ez, $Eabs, $SAR);
$time = $Ex = $Ey = $Ez = $Eabs = 5.0;
my $result = $GetServerData2->Call($client_id, $read_setup_no, $time, $Ex, $Ey, $Ez, $Eabs);