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 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.
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 purposess.
AUTHOR
Aldo Calpini ( dada@perl.it ).
MAINTAINER
Cosimo Streppone ( cosimo@cpan.org ).