Win32::API::Type - C type support package for Win32::API
use Win32::API; Win32::API::Type->typedef( 'my_number', 'LONG' );
This module is a support package for Win32::API that implements C types for the import with prototype functionality.
See Win32::API for more info about its usage.
This module is automatically imported by Win32::API, so you don't need to 'use' it explicitly. These are the methods of this package:
typedef NAME, TYPE
This method defines a new type named NAME. This actually just creates an alias for the already-defined type TYPE, which you can use as a parameter in a Win32::API call.
NAME
TYPE
When TYPE contains a Win32::API::Struct type declared with "typedef" in Win32::API::Struct with " *" postfixed to TYPE parameter, NAME will be a alias for the pointer version of the struct type. Creating an alias for a struct type is not supported, you have to call "typedef" in Win32::API::Struct again. Passing a struct type as TYPE without the " *" postfix is not supported.
Warns and returns undef if TYPE is unknown, else returns true.
sizeof TYPE
This returns the size, in bytes, of TYPE. Acts just like the C function of the same name.
is_known TYPE
Returns true if TYPE is known by Win32::API::Type, false otherwise.
This module should recognize all the types defined in the Win32 Platform SDK header files. Please see the source for this module, in the __DATA__ section, for the full list.
__DATA__
Due to poor design, currently LPVOID is a char *, a string, not a number. It should really be a number. It is suggested to replace LPVOID in your C prototypes passed to Win32::API with UINT_PTR which is a pointer sized number.
Currently ** types do not parse.
Replace void ** in your C prototype that you pass to Win32::API::More with LPHANDLE.
These 2 types by name force numeric handling. 97 not "a". UCHAR is not a unsigned char for numeric handling purposess.
97
"a"
UCHAR
unsigned char
Aldo Calpini ( dada@perl.it ).
Cosimo Streppone ( cosimo@cpan.org ).
To install Win32::API, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Win32::API
CPAN shell
perl -MCPAN -e shell install Win32::API
For more information on module installation, please visit the detailed CPAN module installation guide.