use strict; use warnings; use v5.10; use Win32::API; use Win32::API::Struct; use Data::Dumper; BEGIN{} Win32::API::Struct->typedef( 'POINT', qw ( PCHAR version; PCHAR revision; PSHORT build; ) ) or die "Typdef error $!\n"; my $pt = Win32::API::Struct->new('POINT'); say $pt->sizeof(); Win32::API->Import('AdsDll.dll', 'LONG AdsGetDllVersion()') or die "$!"; $pt = AdsGetDllVersion('POINT') or die "AdsGetDllVersion failed: $^E"; say $pt->version;