C:\Dev\Temp\Win32-API-0.76_03>gcc -dumpversion 4.8.0 C:\Dev\Temp\Win32-API-0.76_03>dmake -V dmake - Version 4.12-20090907-SHAY (Windows / MS Visual C++) Copyright (c) 1990,...,1997 by WTI Corp. Default Configuration: MAXLINELENGTH := 32766 MAXPROCESSLIMIT := 64 .IMPORT .IGNORE: DMAKEROOT .MAKEFILES : makefile.mk makefile .SOURCE : .NULL DMAKEROOT *= $(ABSMAKECMD:d)startup MAKESTARTUP := $(DMAKEROOT)\startup.mk Please read the NEWS file for the latest release notes. C:\Dev\Temp\Win32-API-0.76_03>perl -V Summary of my perl5 (revision 5 version 19 subversion 10) configuration: Platform: osname=MSWin32, osvers=6.1, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags =' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT _CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields', optimize='-s -O2', cppflags='-DWIN32' ccversion='', gccversion='4.8.0', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long', lseek size=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-s -L"c:\perl\lib\CORE" -L"C:\Dev\Software\MinGW-w64-x86 \lib"' libpth=C:\Dev\Software\MinGW-w64-x86\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladva pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lver sion -lodbc32 -lodbccp32 -lcomctl32 libc=, so=dll, useshrplib=true, libperl=libperl519.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -s -L"c:\perl\lib\CORE" -L"C:\Dev\Software\ MinGW-w64-x86\lib"' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF Built under MSWin32 Compiled at Mar 29 2014 19:48:32 @INC: C:/perl/site/lib C:/perl/lib . C:\Dev\Temp\Win32-API-0.76_03>perl Makefile.PL Checking if your kit is complete... Looks good Generating a dmake-style Makefile Writing Makefile for Win32::API::Callback Writing MYMETA.yml and MYMETA.json Generating a dmake-style Makefile Writing Makefile for Win32::API Writing MYMETA.yml and MYMETA.json C:\Dev\Temp\Win32-API-0.76_03>dmake cp Test.pm blib\lib\Win32/API/Test.pm cp IATPatch.pod blib\lib\Win32/API/Callback/IATPatch.pod cp Type.pm blib\lib\Win32/API/Type.pm cp API.pm blib\lib\Win32/API.pm cp Struct.pm blib\lib\Win32/API/Struct.pm cp Callback.pm blib\lib\Win32/API/Callback.pm Running Mkbootstrap for Win32::API::Callback () C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Callback.bs C:\perl\bin\perl.exe C:\perl\lib\ExtUtils\xsubpp -typemap C:\perl\lib\ExtUtils\ typemap Callback.xs > Callback.xsc && C:\perl\bin\perl.exe -MExtUtils::Command -e mv -- Callback.xsc Callback.c gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT - DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.76_03\" -DXS_VERSION=\"0.76_03\" "-IC:\perl\lib\CORE" Callback.c C:\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::API::Callback\", 'DLBASE' => 'Callback', 'D L_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def Callback.def --output-exp dll.exp g++ -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -Wl,--base-file -Wl,dll .base -mdll -s -L"c:\perl\lib\CORE" -L"C:\Dev\Software\MinGW-w64-x86\lib" Callba ck.o C:\perl\lib\CORE\libperl519.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwi nspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws 2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp dlltool --def Callback.def --base-file dll.base --output-exp dll.exp g++ -o ..\blib\arch\auto\Win32\API\Callback\Callback.dll -mdll -s -L"c:\perl\lib \CORE" -L"C:\Dev\Software\MinGW-w64-x86\lib" Callback.o C:\perl\lib\CORE\libpe rl519.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 ..\blib\arch\auto\Win32 \API\Callback\Callback.dll Running Mkbootstrap for Win32::API () C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 API.bs C:\perl\bin\perl.exe C:\perl\lib\ExtUtils\xsubpp -nolinenumbers -typemap C:\pe rl\lib\ExtUtils\typemap -typemap typemap API.xs > API.xsc && C:\perl\bin\perl.e xe -MExtUtils::Command -e mv -- API.xsc API.c gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT - DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.76_03\" -DXS_VERSION=\"0.76_03\" "-IC:\perl\lib\CORE" API.c gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT - DPERL_IMPLICIT_SYS -DUSE_PERLIO -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.76_03\" -DXS_VERSION=\"0.76_03\" "-IC:\perl\lib\CORE" \ -fno-defer-pop -fno-omit-frame-pointer -mno-accumulate-outgoing-args -mno-stack- arg-probe call_i686.c In file included from call_i686.c:14:0: call_i686.h:13:25: warning: array 'bad_esp_msg' assumed to have one element [ena bled by default] PORTALIGN(1) const char bad_esp_msg []; ^ C:\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::API\", 'DLBASE' => 'API', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def API.def --output-exp dll.exp g++ -o blib\arch\auto\Win32\API\API.dll -Wl,--base-file -Wl,dll.base -mdll -s -L "c:\perl\lib\CORE" -L"C:\Dev\Software\MinGW-w64-x86\lib" API.o call_i686.o C:\ perl\lib\CORE\libperl519.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lc omdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp dlltool --def API.def --base-file dll.base --output-exp dll.exp g++ -o blib\arch\auto\Win32\API\API.dll -mdll -s -L"c:\perl\lib\CORE" -L"C:\Dev\ Software\MinGW-w64-x86\lib" API.o call_i686.o C:\perl\lib\CORE\libperl519.a -l moldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 - lodbccp32 -lcomctl32 dll.exp C:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 blib\arch\auto\Win32\AP I\API.dll C:\Dev\Temp\Win32-API-0.76_03>dmake test C:\perl\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Te st::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t [20:29:13] t/00_API.t .......... 1..57 ok 1 - use Encode; ok 2 - use Win32::API; # 00_API.t entered RUN phase ok 3 - use Win32; ok 4 - loaded# API test dll found at (API_test.dll) ok 5 - found API test dll ok 6 - GetCurrentProcessId() function found ok 7 - GetCurrentProcessId() result ok ok 8 - GetCurrentProcessId() result ok ok 9 - Import of GetCurrentProcessId() function from kernel32.dll ok 10 - GetCurrentProcessId() result ok ok 11 - Import of IsBadReadPtr function from kernel32.dll ok 12 - API test dll was freed ok 13 - highbit_unsigned() function defined ok 14 - return value for unsigned is signed on old API ok 15 - GetHandle operates correctly ok 16 - FreeHandle operates correctly ok 17 - sum_integers() function defined ok 18 - function call with integer arguments and return value (Call) ok 19 - Import() on sum_integers worked ok 20 - function call with integer arguments and return value (Import) ok 21 - sum_integers_ref() function defined ok 22 - sum_integers_ref() returns the expected value ok 23 - sum_integers_ref() correctly modifies its ref argument ok 24 - short as return type croak because they are structs on old API ok 25 - sum_shorts_ref() function defined ok 26 - shorts croak as struct objs on old API ok 27 - API_test.dll sum_doubles function defined ok 28 - function call with double arguments ok 29 - sum_doubles_ref() function defined ok 30 - sum_doubles_ref() call works ok 31 - sum_doubles_ref() sets ref correctly ok 32 - sum_floats() function defined ok 33 - sum_floats() result correct ok 34 - sum_floats_ref() function definedUse of uninitialized value in subroutin e entry at t/00_API.t line 339. ok 35 - sum_floats_ref() returns the expected value (1) ok 36 - sum_floats_ref() call works ok 37 - find_char() function defined ok 38 - find_char() function call works ok 39 - sum_char_ref() returns the expected value ok 40 - sum_char_ref() correctly modifies its ref argument ok 41 - numeric truncation sum_char_ref() returns the expected value ok 42 - sum_char_ref() correctly modifies its ref argument ok 43 - wstr_cmp() returns the expected value ok 44 - buffer overflow protection worked ok 45 - idiot flag works ok 46 - cdecl c_sum_integers() function defined ok 47 - cdecl sum_integers() returns expected value ok 48 - ReadMemory() works ok 49 - str_cmp() with LPVOID returns the expected value ok 50 - Take41Params() returns the expected value ok 51 - Take41Params() with __stdcall/__cdecl swap dies after calling it ok 52 # skip wrong param count detection not implemented in Win32::API for GCC ok 53 - NULL behavior with letter proto is okay, consts ok 54 - NULL behavior with letter proto is okay, scalars Argument "" isn't numeric in addition (+) at t/00_API.t line 354. ok 55 - NULL behavior with letter proto is okay, scalar str "0" cast ok 56 - NULL behavior with letter proto is okay, scalar str "" ok 57 - NULL behavior with letter proto is okay, scalar str "" cast find_char: got 'japh', 'a' find_char: tmp now 'japh' find_char: tmp now 'aph' ok 307 ms [20:29:14] t/01_Struct.t ....... 1..17 ok 1 - use Win32::API; ok 2 - loaded ok 3 - found API test dll # $^E= ok 4 - mangle_simple_struct() function ok 5 - mangling of simple structures work ok 6 - tied interface works ok 7 - manual packing fake WlanConnect returned ERROR_SUCCESS# leaked mem warnin g intentional Win32::API::Struct::Unpack struct pointer member "wlan" was changed by C functio n, possible resource leak at t/01_Struct.t line 190. ok 8 - ::Struct fake WlanConnect returned ERROR_SUCCESS Use of uninitialized value in subroutine entry at C:\Dev\Temp\Win32-API-0.76_03\ blib\lib/Win32/API/Struct.pm line 267. Win32::API::Struct::Unpack struct pointer member "pDot11Ssid" was changed by C f unction, possible resource leak at t/01_Struct.t line 190. ok 9 - undef child struct turned to definedWin32::API::Struct::Unpack struct poi nter member "wlan" was changed by C function, possible resource leak at t/01_Str uct.t line 199. # unknown type is intentional ok 10 - defined child struct turned to undefinedWin32::API::Struct::new: unknown type="LPEIGHT_CHAR_ARR" at t/01_Struct.t line 250. Win32::API::Struct::new: unknown type="LPEIGHT_CHAR_ARR" at t/01_Struct.t line 2 68. ok 11 - typedefing EIGHT_CHARS worked ok 12 - buffer_overflow filled the struct correctly ok 13 - type mismatch check worked ok 14 - buffer_overflow filled the struct correctly ok 15 - can not ::Struct::new a LP prefixed struct name for a defined struct ok 16 - Type::typedef worked ok 17 - Type::typedef doesn't change the ::Struct db ok 169 ms [20:29:14] t/02_GetProcess.t ... 1..3 # $result=13148 ok 1 - use Win32::API;# $$=13148 ok 2 - kernel32!GetCurrentProcessId import successful ok 3 - kernel32!GetCurrentProcessId() == Perl's $$ ok 87 ms [20:29:14] t/03_undef.t ........ # Win32::API 0.76_03 1..3 # Import: The handle is invalid ok 1 - import sample API (PeekNamedPipe) ok 2 - reclaiming child worked ok 3 - (RT \#39730) sample API (PeekNamedPipe) works with undef values ok 167 ms [20:29:14] t/04_rt_48006.t ..... 1..4 ok 1 - use Win32::API::Struct; ok 2 - ProcessEntry32 struct defined Uninit warnings are intentional ok 3 - Size is calculated correctlyUse of uninitialized value in pack at C:\Dev\ Temp\Win32-API-0.76_03\blib\lib/Win32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. Use of uninitialized value in pack at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win 32/API/Struct.pm line 317. # Size is 296. Should be 296 ok 4 - uninitialized struct is all nulls ok 107 ms [20:29:14] t/05_more_struct.t .. 1..26 ok 1 - "all_longs" struct defined ok 2 - Size of struct "all_longs" is calculated correctly (20) ok 3 - "array_of_chars" struct defined ok 4 - Size of struct "array_of_chars" is calculated correctly (100) ok 5 - "compound_1" struct defined ok 6 - Size of struct "compound_1" is calculated correctly (212) ok 7 - "compound_2" struct defined not ok 8 - Size of struct "compound_2" is calculated correctly (14) # TODO Break s atm # Failed (TODO) test 'Size of struct "compound_2" is calculated correctly (14) ' # at t/05_more_struct.t line 131. # got: '14' # expected: '11' ok 9 - "empty" struct defined ok 10 - Size of struct "empty" is calculated correctly (0) ok 11 - "four_words" struct defined ok 12 - Size of struct "four_words" is calculated correctly (16) ok 13 - "mixing_longs_and_dwords" struct defined ok 14 - Size of struct "mixing_longs_and_dwords" is calculated correctly (12) ok 15 - "one_char" struct defined ok 16 - Size of struct "one_char" is calculated correctly (1) ok 17 - "one_word" struct defined ok 18 - Size of struct "one_word" is calculated correctly (4) ok 19 - "one_word_no_semicolon" struct defined ok 20 - Size of struct "one_word_no_semicolon" is calculated correctly (4) ok 21 - "only_chars" struct defined ok 22 - Size of struct "only_chars" is calculated correctly (3) ok 23 - "three_words" struct defined ok 24 - Size of struct "three_words" is calculated correctly (12) ok 25 - "two_words" struct defined ok 26 - Size of struct "two_words" is calculated correctly (8) ok 155 ms [20:29:14] t/06_rt_74578.t ..... 1..3 ok 1 - use Win32::API::Struct; # @pack=(LLLLLLLlLa260, ARRAY(0x272fdc4), ARRAY(0x272fe84), 296, ARRAY(0x258effc )) ok 2 - ProcessEntry32 struct defined ok 3 - Size is calculated correctly ok 94 ms [20:29:15] t/benchmark.t ....... 1..7 ok 1 - use Win32::API; # API test dll found at (API_test.dll) ok 2 - found API test dll ok 3 - setlasterror_loop() function defined ok 4 - QueryPerformanceCounter Win32::API obj created ok 5 - QueryPerformanceFrequency Win32::API obj created and call success ok 6 - QPC calls succeeded # time was 0.147083362764435 secs, 0.00014708292151567 ms per Win32::API call ok 7 - QPC calls succeeded # time was 0.114891171333685 secs, 0.000114890826661205 ms per Win32::AP::Import style call # time was 0.00421634485643962 secs, 0.00000421634485644 ms per C call # time was 0.092362946152857 secs, 9.23626690648498e-005 ms per _xxSetLastError call ok 672 ms [20:29:15] t/pod-coverage.t .... 1..0 # SKIP Test::Pod::Coverage required for testing pod coverage skipped: Test::Pod::Coverage required for testing pod coverage [20:29:15] t/pod.t ............. 1..0 # SKIP Test::Pod 1.14 required for testing POD skipped: Test::Pod 1.14 required for testing POD [20:29:15] t/v69.t ............. 1..36 ok 1 - use Win32::API; ok 2 - use Win32::API::Test; ok 3 - use Win32; # API test dll found at (API_test.dll) ok 4 - found API test dll ok 5 - GetHandle operates correctly ok 6 - FreeHandle operates correctly ok 7 - highbit_unsigned() function defined ok 8 - return value for unsigned is unsigned ok 9 - 2 word ret type highbit_unsigned() function defined ok 10 - return value for unsigned is unsigned ok 11 - sum_shorts_ref() function defined ok 12 - sum_shorts_ref() returns the expected value ok 13 - sum_shorts_ref() correctly modifies its ref argument ok 14 - sum_shorts_ref() returns the expected unsigned value ok 15 - sum_shorts_ref() correctly modifies its ref argument ok 16 - sum_char_ref() returns the expected character value ok 17 - sum_char_ref() correctly modifies its ref argument ok 18 - sum_uchar_ret_int() returns the expected numeric value ok 19 - signed sum_char_ref() returns the expected numeric value ok 20 - sum_char_ref() correctly modifies its ref argument ok 21 - unsigned sum_char_ref() returns the expected numeric value ok 22 - sum_char_ref() correctly modifies its ref argument ok 23 - str_cmp() returns the expected value ok 24 - wstr_cmp() returns the expected value ok 25 - GetHandle from func pointer using C prototype operates correctly# "bad p rototype" warning is intentional Win32::API::parse_prototype: bad prototype 'HANDLE GetProcessHeap( void ** ptr )' at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win32/API.pm line 602. ok 26 - GetHandle from func pointer using letter interface operates correctly ok 27 - Can't create a Win32::API obj to func ptr 2 ok 28 - find_char() function defined ok 29 - numeric return find_char() function call works find_char: got '☺☻♥♦', '♥' find_char: tmp now '☺☻♥♦' find_char: tmp now '☻♥♦' find_char: tmp now '♥♦' ok 30 - MoveMemory() and ReadMemory() work ok 31 - WriteMemory() works ok 32 - WriteMemory() length check works ok 33 - HeapFree works ok 34 - 1 is a bad pointer for IsBadReadPtr ok 35 - IsBadReadPtr returned false on a good pointer ok 36 - ** types do not parse currently ok 216 ms [20:29:16] t/v70.t ............. 1..17 ok 1 - use Win32::API; ok 2 - use Win32; # API test dll found at (API_test.dll) ok 3 - found API test dll ok 4 - sum_quads_ref() function defined ok 5 - old api sum_quads_ref() returns the expected value ok 6 - sum_quads_ref() correctly modifies its ref argument ok 7 - sum_quads_ref() function defined ok 8 - new api sum_quads_ref() returns the expected value ok 9 - sum_quads_ref() correctly modifies its ref argument ok 10 - sum_quads_ref() function defined ok 11 - MI64 sum_quads_ref() returns 1 value ok 12 - old api with MI64 sum_quads_ref() returns the expected value ok 13 - sum_quads_ref() correctly modifies its ref argument ok 14 - sum_quads_ref() function defined ok 15 - UseMI64 works correctly ok 16 - new api with MI64 sum_quads_ref() returns the expected value ok 17 - sum_quads_ref() correctly modifies its ref argument ok 154 ms [20:29:16] t/v71.t ............. 1..22 ok 1 - use Win32::API; # API test dll found at (API_test.dll) ok 2 - found API test dll ok 3 - find_char() function defined ok 4 - find_char() function call works ok 5 - SafeReadWideCString ASCII ok 6 - SafeReadWideCString Wide ok 7 - SafeReadWideCString null pointer ok 8 - Struct 'S' invalid return type ok 9 - Struct 'T' invalid return type# under 8 byte warnings are intended Win32::API::Call value for 64 bit integer is under 8 bytes long at C:\Dev\Temp\W in32-API-0.76_03\blib\lib/Win32/API/Type.pm line 281. ok 10 - Callback invalid return type Win32::API::Call value for 64 bit integer is under 8 bytes long at C:\Dev\Temp\W in32-API-0.76_03\blib\lib/Win32/API/Type.pm line 281. ok 11 - ::More Struct 'T' invalid return type ok 12 - ::More Callback invalid return type find_char: got 'japh', 'a' find_char: tmp now 'japh' find_char: tmp now 'aph' ok 13 - GetCurrentThreadId with 'V' in proto works ok 14 - GetCurrentThreadId with array 'V' in proto works ok 15 - in V proto param + other param fails ok 16 - GetCurrentThreadId with '' in proto works ok 17 - GetCurrentThreadId with '' out proto works ok 18 - GetCurrentThreadId with '' out proto works ok 19 - in UseMI64 off mode, numeric scalar '1' turns to bad 1 char string ok 20 - garbage return and garbage pointer fill the same ok 21 - in UseMI64 off mode, 8 digit numeric scalar defeats 8 byte length check but produces garbage output ok 22 - pointer to quad is equal to returned quad without UseMI64 ok 174 ms [20:29:16] t/v76.t ............. Name "main::nothing" used only once: possible t ypo at t/v76.t line 27. 1..17 ok 1 - found API test dll ok 2 - loaded test dll ok 3 - Import() on sum_integers worked ok 4 - refcnt --ed on test dllUse of uninitialized value $proc in concatenation (.) or string at C:\Dev\Temp\Win32-API-0.76_03\blib\lib/Win32/API.pm line 193. Use of uninitialized value $procname in string eq at C:\Dev\Temp\Win32-API-0.76_ 03\blib\lib/Win32/API.pm line 270. ok 5 - function call with integer arguments and return value (Import) ok 6 - undefed ::Import sub fails $@="Undefined subroutine &main::nothing called at t/v76.t line 28." ok 7 - test dll unloaded ok 8 - Import() on sum_shorts_ref worked ok 9 - sum_shorts_ref() returns the expected unsigned value ok 10 - sum_shorts_ref() correctly modifies its ref argument ok 11 - Import() on non existant func failed ok 12 - GetHandle from func pointer using letter interface operates correctly ok 13 - empty string as func name for func * not allowed ok 14 - Import() on sum_quads_ref worked ok 15 - UseMI64 works correctly ok 16 - ::More::Import() with MI64 sum_quads_ref() returns the expected value ok 17 - sum_quads_ref() correctly modifies its ref argument ok 148 ms [20:29:16] All tests successful. Files=14, Tests=212, 3 wallclock secs ( 0.09 usr + 0.11 sys = 0.20 CPU) Result: PASS C:\perl\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Te st::Harness::Switches; test_harness(0, '..\blib\lib', '..\blib\arch')" t/*.t [20:29:16] t/02_Callback.t ...... 1/20 # Compiler name:gcc # Compiler version:0 # $^E= [20:29:16] t/02_Callback.t ...... ok 116 ms [20:29:17] t/03_Jim_Shaw.t ...... ok 112 ms [20:29:17] t/04_rt_53914.t ...... skipped: GenerateConsoleCtrlEvent() crashes co nsistently. Reason unknown so far. [20:29:17] t/iat.t .............. ok 127 ms [20:29:17] t/ithreads.t ......... ok 95 ms [20:29:17] t/threading_fails.t .. # This might crash Win32::API::Callback (XS) no perl interp in thread id 14648, callback can not ru n [20:29:17] t/threading_fails.t .. ok 93 ms [20:29:17] All tests successful. Files=6, Tests=55, 1 wallclock secs ( 0.06 usr + 0.02 sys = 0.08 CPU) Result: PASS C:\Dev\Temp\Win32-API-0.76_03>