NAME
Win32::API::Type - C type support package for Win32::API
SYNOPSIS
use Win32::API;
Win32::API::Type->typedef( 'my_number', 'LONG' );
ABSTRACT
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.
DESCRIPTION
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 typeTYPE
, which you can use as a parameter in a Win32::API call.When
TYPE
contains a Win32::API::Struct type declared with "typedef" in Win32::API::Struct with " *" postfixed toTYPE
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 asTYPE
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.
SUPPORTED TYPES
This module recognizes many commonly used types defined in the Win32 Platform SDK header files, but not all. Types less than 13 years old are very unlikely to be the in built type database.
Please see the source for this module, in the __DATA__
section, for the full list of builtin supported types.
NOTES ON SELECT TYPES
- LPVOID
-
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.
- SOMETYPE **
-
Currently ** types do not parse.
- void **
-
Replace void ** in your C prototype that you pass to Win32::API::More with LPHANDLE.
- unsigned char
- signed char
-
These 2 types by name force numeric handling.
97
not"a"
.UCHAR
is not aunsigned char
for numeric handling purposes.
AUTHOR
Aldo Calpini ( dada@perl.it ).
MAINTAINER
Cosimo Streppone ( cosimo@cpan.org ).