home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2000 May
/
Chip_2000-05_cd1.bin
/
zkuste
/
Perl
/
ActivePerl-5.6.0.613.msi
/
䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥
/
_d9be70ee1c5d21e0e75b882545386672
< prev
next >
Wrap
Text File
|
2000-03-15
|
10KB
|
507 lines
=head1 NAME
PerlEz - PerlEz host DLL
=head1 DESCRIPTION
This document attempts to describe the functions of the PerlEz host Dynamicly
Linked Library (DLL). Please refer any questions or comments to the author below.
=head2 Datatypes
PerlEz has one specific data type, PERLEZHANDLE; this is a non-zero handle to
a Perl interpreter that is created and can be accessed by the routines described below.
=head2 PerlEzCreate
=over
PERLEZHANDLE PerlEzCreate(LPCSTR lpFileName, LPSTR lpOptions);
=item DESCRIPTION:
=item *
Creates a Perl interpreter. The return value is required parameter for all subsequent æPerlEzÆ calls.
Multiple interpreters can be created, but only one will be executing at a time.
=item PARAMS:
=item *
lpFileName a pointer to a ASCIIZ string that is the name of a file; can be NULL
=item *
lpOptions a pointer to a ASCIIZ string that are the command line options that
will be provided before the script; can be NULL. This parameter is used for setting @INC or debugging.
=item RETURNS:
=item *
A non zero handle to a Perl interpreter if successful; zero otherwise. Call PerlEzDelete to release this handle.
See also L</PerlEzDelete>
=back
=head2 PerlEzDelete
=over
BOOL PerlEzDelete(PERLEZHANDLE hHandle);
=item DESCRIPTION:
=item *
Deletes a previously created Perl interpreter. Releases all resources allocated by PerlEzCreate.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item RETURNS:
=item *
True if no error false otherwise.
=back
=head2 PerlEzEvalString
=over
int PerlEzEvalString(PERLEZHANDLE hHandle, LPCSTR lpString, LPSTR lpBuffer, DWORD dwBufSize);
=item DESCRIPTION:
=item *
Evaluates the string a returns the result in lpBuffer. If there is an error $! is returned in lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpString a pointer to the ASCIIZ string to evaluate
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzCall1
=over
int PerlEzCall1(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize, LPCSTR lpFormat, LPVOID lpVoid);
=item DESCRIPTION:
=item *
Calls the function lpFunction and returns the result in the buffer lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpFunction a pointer name of the function to call
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item *
lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
=item *
lpVoid a pointer to a parameter will be interpreted based on lpFormat
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzCall2
=over
int PerlEzCall2(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
LPCSTR lpFormat, LPVOID lpVoid1, LPVOID lpVoid2);
=item DESCRIPTION:
=item *
Calls the function lpFunction and returns the result in the buffer lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpFunction a pointer name of the function to call
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item *
lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
=item *
lpVoid1...2 pointers to parameters that will be interpreted based on lpFormat
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzCall4
=over
int PerlEzCall4(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
LPCSTR lpFormat, LPVOID lpVoid1, LPVOID lpVoid2, LPVOID lpVoid3, LPVOID lpVoid4);
=item DESCRIPTION:
=item *
Calls the function lpFunction and returns the result in the buffer lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpFunction a pointer name of the function to call
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item *
lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
=item *
lpVoid1...4 pointers to parameters that will be interpreted based on lpFormat
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzCall8
=over
int PerlEzCall8(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
LPCSTR lpFormat, LPVOID lpVoid1, LPVOID lpVoid2, LPVOID lpVoid3, LPVOID lpVoid4, LPVOID lpVoid5,
LPVOID lpVoid6, LPVOID lpVoid7, LPVOID lpVoid8);
=item DESCRIPTION:
=item *
Calls the function lpFunction and returns the result in the buffer lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpFunction a pointer name of the function to call
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item *
lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
=item *
lpVoid1...8 pointers to parameters that will be interpreted based on lpFormat
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzCall
=over
int PerlEzCall(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
LPCSTR lpFormat, ...);
=item DESCRIPTION:
=item *
Calls the function lpFunction and returns the result in the buffer lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpFunction a pointer name of the function to call
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item *
lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
=item *
... parameters to be interpreted based on lpFormat
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzCallContext
=over
int PerlEzCallContext(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPVOID lpContextInfo,
LPSTR lpBuffer, DWORD dwBufSize, LPCSTR lpFormat, ...);
=item DESCRIPTION:
=item *
Calls the function lpFunction and returns the result in the buffer lpBuffer.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpFunction a pointer name of the function to call
=item *
lpContextInfo context info for magic fetch and store functions
=item *
lpBuffer a pointer to the buffer where the result will be placed
=item *
dwBufSize the size in bytes of the space where lpBuffer points
=item *
lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
=item *
... parameters to be interpreted based on lpFormat
=item RETURNS:
=item *
A zero if no error; otherwise error code.
=back
=head2 PerlEzSetMagicScalarFunctions
=over
int PerlEzSetMagicScalarFunctions(PERLEZHANDLE hHandle, LPFETCHVALUEFUNCTION lpfFetch,
LPSTOREVALUEFUNCTION lpfStore);
=item DESCRIPTION:
=item *
Sets the call back function pointers for magic scalar variables.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate
=item *
lpfFetch a pointer to the call back function for fetching a string.
if lpfFetch is NULL, then the scalar is write only.
=item *
lpfStore a pointer to the call back function for storinging a string.
if lpfStore is NULL, then the scalar is read only.
=item RETURNS:
=item *
A zero if no error; otherwise error code.
NOTE: if lpfFetch and lpfStore are both NULL, then it is an error.
See also L</PerlEzSetMagicScalarName>
=back
=head2 PerlEzSetMagicScalarName
=over
int PerlEzSetMagicScalarName(PERLEZHANDLE hHandle, LPCSTR pVariableName);
=item DESCRIPTION:
=item *
Creates the variable if it does not exists and sets it to be tied to
the call back function pointer for magic variables.
=item PARAMS:
=item *
hHandle a handle returned by the call to PerlEzCreate.
=item *
pVariableName a pointer to the name of the variable.
=item RETURNS:
=item *
A zero if no error; otherwise error code.
See also L</PerlEzSetMagicScalarFunctions>
=back
=head2 Format String
=over
The format string is a series of characters that represents the type of parameters being supplied.
=item s
=item *
this parameter is a pointer to a null terminated string.
=item i
=item *
this parameter is to be considered an integer.
=item d
=item *
this parameter is to be considered a double.
=item l[s | i | d]x
=item *
the next 'x' parameters will be put into an anonymous list of the type specifed. Either 's', 'i', or 'd'
=back
=head1 AUTHORS
This document is maintained by Douglas Lankshear <dougl@ActiveState.com>