$CreateTable = new Win32::API("myDll.dll","myTableCreate", 'V','N');
####
{
my $IsBadReadPtr = Win32::API->new(
'kernel32.dll', 'BOOL IsBadReadPtr( UINT_PTR lp, UINT_PTR ucb)',
);
die "getting IsBadReadPtr failed" if !$IsBadReadPtr;
sub IsBadReadPtr {
return $IsBadReadPtr->Call($_[0], $_[1]);
}
}
####
if($isLoadedRight>0){print("Loading table error on ".$pathTableRight.": ".@DllTblStatus[$isLoadedRight]."\n");}
####
$pass = $pass && ($LeftTable>0 && $RightTable>0 && $outputTable>0);
####
$pass = $pass && ($isLoadedLeft==0 && $isLoadedRight==0);
####
These are the empty tables HANDLEs:
Left Table: 48120353
Right Table: 48120401
Output Table: 48120449
...
Table communication between perl and dll is correct. Pass code: 1
...
These are the empty tables LPHANDLEs (Pack Option: L):
Left Table: $VAR1 = "!B\336\2";
Right Table: $VAR1 = "QB\336\2";
Output Table: $VAR1 = "\201B\336\2";
...
Tables: C:/Temp/Requests/TableTest1.TBL and C:/Temp/Requests/TableTest
+1.TBL loaded correctly. Pass code: 1
...
After loading the tables with the files, the tables LPHANDLEs (Pack Op
+tion: L):
Left Table: $VAR1 = "\31\261\337\2";
Right Table: $VAR1 = "y\333\340\2";
Output Table: $VAR1 = "\201B\336\2";
...
After laoding the tables with the files, the tables HANDLEs (Unpack Op
+tion: L):
Left Table: 48214297
Right Table: 48290681
Output Table: 48120449