in reply to functions with optional arguments in Windows DLLs
I've never heard of "optional" arguments to a C routine. A variable number as with int printf( char *t, ... ), but not optional.
If you're going to access a vararg function using Win32::API, you would need to do something hinky like create one API mapping for each number of args you are likely to use and then call the appropriate variant:
use Win32::API; $function2 = Win32::API->new( 'mydll', 'sum_integers', 'II', 'I', ); $function3 = Win32::API->new( 'mydll', 'sum_integers', 'III', 'I', ); $function4 = Win32::API->new( 'mydll', 'sum_integers', 'IIII', 'I', ); $function5 = Win32::API->new( 'mydll', 'sum_integers', 'IIIII', 'I', ); $function6 = Win32::API->new( 'mydll', 'sum_integers', 'IIIIII', 'I', );
Not pretty, but it ought to at least work.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: functions with optional arguments in Windows DLLs
by spurperl (Priest) on Dec 13, 2007 at 20:08 UTC | |
by BrowserUk (Patriarch) on Dec 13, 2007 at 20:35 UTC | |
by spurperl (Priest) on Dec 14, 2007 at 06:30 UTC |
In Section
Seekers of Perl Wisdom