NAME
Win32::API::Interface - Object oriented interface generation
SYNOPSIS
package MyModule;
use base qw/Win32::API::Interface/;
__PACKAGE__->generate( "kernel32", "GetCurrentProcessId", "", "N" );
__PACKAGE__->generate( "kernel32", "GetCurrentProcessId", "", "N", 'get_pid' );
1;
my $obj = MyModule->new );
print "PID: " . $obj->GetCurrentProcessId . "\n";
print "PID: " . $obj->get_pid . "\n";
DESCRIPTION
This module provides functions for generating a object oriented interface to Win32 API functions.
METHODS
new
my $obj = Module->new;
Win32::API::Interface provides a basic constructor. It generates a hash-based object and can be called as either a class method or an object method.
generate
__PACKAGE__->generate( "kernel32", "GetCurrentProcessId", "", "N" );
This generates a method called GetCurrentProcessId which is exported by kernel32.dll. It does not take any input parameters but returns a value of type long.
__PACKAGE__->generate( "kernel32", "GetCurrentProcessId", "", "N", "get_pid" );
Actually the same as above, but this will generate a method called get_pid. This is useful if you do not want to rely on the API function name.
__PACKAGE__->generate(
[ "kernel32", "GetTempPath", "NP", "N" ],
[ "kernel32", "GetCurrentProcessId", "", "N", "get_pid" ],
);
You may call generate passing an array of array references.
__PACKAGE__->generate( {
"kernel32" => [
[ "GetTempPath", "NP", "N" ],
[ "GetCurrentProcessId", "", "N", "get_pid" ],
],
"user32" => [
[ "GetCursorPos", "P", "I"]
],
} );
generated
Returns a list of all real generated API function names
__PACKAGE__->generated( );
AUTHOR
Sascha Kiefer, esskar@cpan.org
COPYRIGHT AND LICENSE
Copyright (C) 2006 Sascha Kiefer
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.