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 >
Text File  |  2000-03-15  |  10KB  |  507 lines

  1. =head1 NAME
  2.  
  3. PerlEz - PerlEz host DLL
  4.  
  5. =head1 DESCRIPTION
  6.  
  7. This document attempts to describe the functions of the PerlEz host Dynamicly
  8. Linked Library (DLL). Please refer any questions or comments to the author below.
  9.  
  10. =head2 Datatypes
  11.  
  12. PerlEz has one specific data type, PERLEZHANDLE; this is a non-zero handle to
  13. a Perl interpreter that is created and can be accessed by the routines described below.
  14.  
  15. =head2 PerlEzCreate
  16.  
  17. =over 
  18.  
  19.  PERLEZHANDLE PerlEzCreate(LPCSTR lpFileName, LPSTR lpOptions);
  20.  
  21. =item DESCRIPTION:
  22.  
  23. =item *
  24.  
  25. Creates a Perl interpreter. The return value is required parameter for all subsequent æPerlEzÆ calls.
  26. Multiple interpreters can be created, but only one will be executing at a time.
  27.  
  28. =item PARAMS:
  29.  
  30. =item *
  31.  
  32. lpFileName a pointer to a ASCIIZ string that is the name of a file; can be NULL 
  33.  
  34. =item *
  35.  
  36. lpOptions a pointer to a ASCIIZ string that are the command line options that
  37. will be provided before the script; can be NULL. This parameter is used for setting @INC or debugging. 
  38.  
  39. =item RETURNS:
  40.  
  41. =item *
  42.  
  43. A non zero handle to a Perl interpreter if successful; zero otherwise. Call PerlEzDelete to release this handle.
  44.  
  45. See also L</PerlEzDelete>
  46.  
  47. =back
  48.  
  49. =head2 PerlEzDelete
  50.  
  51. =over 
  52.  
  53.  BOOL PerlEzDelete(PERLEZHANDLE hHandle);
  54.  
  55. =item DESCRIPTION:
  56.  
  57. =item *
  58.  
  59. Deletes a previously created Perl interpreter. Releases all resources allocated by PerlEzCreate.
  60.  
  61. =item PARAMS:
  62.  
  63. =item *
  64.  
  65. hHandle    a handle returned by the call to PerlEzCreate
  66.  
  67. =item RETURNS:
  68.  
  69. =item *
  70.  
  71. True if no error false otherwise.
  72.  
  73. =back
  74.  
  75. =head2 PerlEzEvalString
  76.  
  77. =over 
  78.  
  79.  int PerlEzEvalString(PERLEZHANDLE hHandle, LPCSTR lpString, LPSTR lpBuffer, DWORD dwBufSize);
  80.  
  81. =item DESCRIPTION:
  82.  
  83. =item *
  84.  
  85. Evaluates the string a returns the result in lpBuffer. If there is an error $! is returned in lpBuffer.
  86.  
  87. =item PARAMS:
  88.  
  89. =item *
  90.  
  91. hHandle    a handle returned by the call to PerlEzCreate
  92.  
  93. =item *
  94.  
  95. lpString a pointer to the ASCIIZ string to evaluate
  96.  
  97. =item *
  98.  
  99. lpBuffer a pointer to the buffer where the result will be placed
  100.  
  101. =item *
  102.  
  103. dwBufSize the size in bytes of the space where lpBuffer points
  104.  
  105. =item RETURNS:
  106.  
  107. =item *
  108.  
  109. A zero if no error; otherwise error code.
  110.  
  111. =back
  112.  
  113. =head2 PerlEzCall1
  114.  
  115. =over
  116.  
  117.  int PerlEzCall1(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize, LPCSTR lpFormat, LPVOID lpVoid);
  118.  
  119. =item DESCRIPTION:
  120.  
  121. =item *
  122.  
  123. Calls the function lpFunction and returns the result in the buffer lpBuffer.
  124.  
  125. =item PARAMS:
  126.  
  127. =item *
  128.  
  129. hHandle    a handle returned by the call to PerlEzCreate
  130.  
  131. =item *
  132.  
  133. lpFunction a pointer name of the function to call
  134.  
  135. =item *
  136.  
  137. lpBuffer a pointer to the buffer where the result will be placed
  138.  
  139. =item *
  140.  
  141. dwBufSize the size in bytes of the space where lpBuffer points
  142.  
  143. =item *
  144.  
  145. lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
  146.  
  147. =item *
  148.  
  149. lpVoid a pointer to a parameter will be interpreted based on lpFormat
  150.  
  151. =item RETURNS:
  152.  
  153. =item *
  154.  
  155. A zero if no error; otherwise error code.
  156.  
  157. =back
  158.  
  159. =head2 PerlEzCall2
  160.  
  161. =over 
  162.  
  163.  int PerlEzCall2(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
  164.   LPCSTR lpFormat, LPVOID lpVoid1, LPVOID lpVoid2);
  165.  
  166. =item DESCRIPTION:
  167.  
  168. =item *
  169.  
  170. Calls the function lpFunction and returns the result in the buffer lpBuffer.
  171.  
  172. =item PARAMS:
  173.  
  174. =item *
  175.  
  176. hHandle    a handle returned by the call to PerlEzCreate
  177.  
  178. =item *
  179.  
  180. lpFunction a pointer name of the function to call
  181.  
  182. =item *
  183.  
  184. lpBuffer a pointer to the buffer where the result will be placed
  185.  
  186. =item *
  187.  
  188. dwBufSize the size in bytes of the space where lpBuffer points
  189.  
  190. =item *
  191.  
  192. lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
  193.  
  194. =item *
  195.  
  196. lpVoid1...2 pointers to parameters that will be interpreted based on lpFormat
  197.  
  198. =item RETURNS:
  199.  
  200. =item *
  201.  
  202. A zero if no error; otherwise error code.
  203.  
  204. =back
  205.  
  206. =head2 PerlEzCall4
  207.  
  208. =over
  209.  
  210.  int PerlEzCall4(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
  211.    LPCSTR lpFormat, LPVOID lpVoid1, LPVOID lpVoid2, LPVOID lpVoid3, LPVOID lpVoid4);
  212.  
  213. =item DESCRIPTION:
  214.  
  215. =item *
  216.  
  217. Calls the function lpFunction and returns the result in the buffer lpBuffer.
  218.  
  219. =item PARAMS:
  220.  
  221. =item *
  222.  
  223. hHandle    a handle returned by the call to PerlEzCreate
  224.  
  225. =item *
  226.  
  227. lpFunction a pointer name of the function to call
  228.  
  229. =item *
  230.  
  231. lpBuffer a pointer to the buffer where the result will be placed
  232.  
  233. =item *
  234.  
  235. dwBufSize the size in bytes of the space where lpBuffer points
  236.  
  237. =item *
  238.  
  239. lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
  240.  
  241. =item *
  242.  
  243. lpVoid1...4 pointers to parameters that will be interpreted based on lpFormat
  244.  
  245. =item RETURNS:
  246.  
  247. =item *
  248.  
  249. A zero if no error; otherwise error code.
  250.  
  251. =back 
  252.  
  253. =head2 PerlEzCall8
  254.  
  255. =over
  256.  
  257.  int PerlEzCall8(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
  258.    LPCSTR lpFormat, LPVOID lpVoid1, LPVOID lpVoid2, LPVOID lpVoid3, LPVOID lpVoid4, LPVOID lpVoid5,
  259.    LPVOID lpVoid6, LPVOID lpVoid7, LPVOID lpVoid8);
  260.  
  261. =item DESCRIPTION:
  262.  
  263. =item *
  264.  
  265. Calls the function lpFunction and returns the result in the buffer lpBuffer.
  266.  
  267. =item PARAMS:
  268.  
  269. =item *
  270.  
  271. hHandle    a handle returned by the call to PerlEzCreate
  272.  
  273. =item *
  274.  
  275. lpFunction a pointer name of the function to call
  276.  
  277. =item *
  278.  
  279. lpBuffer a pointer to the buffer where the result will be placed
  280.  
  281. =item *
  282.  
  283. dwBufSize the size in bytes of the space where lpBuffer points
  284.  
  285. =item *
  286.  
  287. lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
  288.  
  289. =item *
  290.  
  291. lpVoid1...8 pointers to parameters that will be interpreted based on lpFormat
  292.  
  293. =item RETURNS:
  294.  
  295. =item *
  296.  
  297. A zero if no error; otherwise error code.
  298.  
  299. =back
  300.  
  301. =head2 PerlEzCall
  302.  
  303. =over
  304.  
  305.  int PerlEzCall(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPSTR lpBuffer, DWORD dwBufSize,
  306.    LPCSTR lpFormat, ...);
  307.  
  308. =item DESCRIPTION:
  309.  
  310. =item *
  311.  
  312. Calls the function lpFunction and returns the result in the buffer lpBuffer.
  313.  
  314. =item PARAMS:
  315.  
  316. =item *
  317.  
  318. hHandle a handle returned by the call to PerlEzCreate
  319.  
  320. =item *
  321.  
  322. lpFunction a pointer name of the function to call
  323.  
  324. =item *
  325.  
  326. lpBuffer a pointer to the buffer where the result will be placed
  327.  
  328. =item *
  329.  
  330. dwBufSize the size in bytes of the space where lpBuffer points
  331.  
  332. =item *
  333.  
  334. lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
  335.  
  336. =item *
  337.  
  338. ... parameters to be interpreted based on lpFormat
  339.  
  340. =item RETURNS:
  341.  
  342. =item *
  343.  
  344. A zero if no error; otherwise error code.
  345.  
  346. =back
  347.  
  348. =head2 PerlEzCallContext
  349.  
  350. =over
  351.  
  352.  int PerlEzCallContext(PERLEZHANDLE hHandle, LPCSTR lpFunction, LPVOID lpContextInfo,
  353.    LPSTR lpBuffer, DWORD dwBufSize, LPCSTR lpFormat, ...);
  354.  
  355. =item DESCRIPTION:
  356.  
  357. =item *
  358.  
  359. Calls the function lpFunction and returns the result in the buffer lpBuffer.
  360.  
  361. =item PARAMS:
  362.  
  363. =item *
  364.  
  365. hHandle a handle returned by the call to PerlEzCreate
  366.  
  367. =item *
  368.  
  369. lpFunction a pointer name of the function to call
  370.  
  371. =item *
  372.  
  373. lpContextInfo context info for magic fetch and store functions
  374.  
  375. =item *
  376.  
  377. lpBuffer a pointer to the buffer where the result will be placed
  378.  
  379. =item *
  380.  
  381. dwBufSize the size in bytes of the space where lpBuffer points
  382.  
  383. =item *
  384.  
  385. lpFormat a pointer to the parameter specifier; can be NULL. See L</"Format String">
  386.  
  387. =item *
  388.  
  389. ... parameters to be interpreted based on lpFormat
  390.  
  391. =item RETURNS:
  392.  
  393. =item *
  394.  
  395. A zero if no error; otherwise error code.
  396.  
  397. =back
  398.  
  399. =head2 PerlEzSetMagicScalarFunctions
  400.  
  401. =over 
  402.  
  403.  int PerlEzSetMagicScalarFunctions(PERLEZHANDLE hHandle, LPFETCHVALUEFUNCTION lpfFetch,
  404.         LPSTOREVALUEFUNCTION lpfStore);
  405.  
  406. =item DESCRIPTION:
  407.  
  408. =item *
  409.  
  410. Sets the call back function pointers for magic scalar variables.
  411.  
  412. =item PARAMS:
  413.  
  414. =item *
  415.  
  416. hHandle a handle returned by the call to PerlEzCreate
  417.  
  418. =item *
  419.  
  420. lpfFetch a pointer to the call back function for fetching a string. 
  421. if lpfFetch is NULL, then the scalar is write only.
  422.  
  423. =item *
  424.  
  425. lpfStore a pointer to the call back function for storinging a string.
  426. if lpfStore is NULL, then the scalar is read only.
  427.  
  428. =item RETURNS:
  429.  
  430. =item *
  431.  
  432. A zero if no error; otherwise error code.
  433. NOTE: if lpfFetch and lpfStore are both NULL, then it is an error.
  434.  
  435. See also L</PerlEzSetMagicScalarName>
  436.  
  437. =back
  438.  
  439. =head2 PerlEzSetMagicScalarName
  440.  
  441. =over 
  442.  
  443.  int PerlEzSetMagicScalarName(PERLEZHANDLE hHandle, LPCSTR pVariableName);
  444.  
  445. =item DESCRIPTION:
  446.  
  447. =item *
  448.  
  449. Creates the variable if it does not exists and sets it to be tied to
  450. the call back function pointer for magic variables.
  451.  
  452. =item PARAMS:
  453.  
  454. =item *
  455.  
  456. hHandle a handle returned by the call to PerlEzCreate.
  457.  
  458. =item *
  459.  
  460. pVariableName a pointer to the name of the variable.
  461.  
  462. =item RETURNS:
  463.  
  464. =item *
  465.  
  466. A zero if no error; otherwise error code.
  467.  
  468. See also L</PerlEzSetMagicScalarFunctions>
  469.  
  470. =back
  471.  
  472. =head2 Format String
  473.  
  474. =over
  475.  
  476. The format string is a series of characters that represents the type of parameters being supplied.
  477.  
  478. =item s
  479.  
  480. =item *
  481.  
  482. this parameter is a pointer to a null terminated string.
  483.  
  484. =item i
  485.  
  486. =item *
  487.  
  488. this parameter is to be considered an integer.
  489.  
  490. =item d
  491.  
  492. =item *
  493.  
  494. this parameter is to be considered a double.
  495.  
  496. =item l[s | i | d]x
  497.  
  498. =item *
  499.  
  500. the next 'x' parameters will be put into an anonymous list of the type specifed. Either 's', 'i', or 'd' 
  501.  
  502. =back
  503.  
  504. =head1 AUTHORS
  505.  
  506. This document is maintained by Douglas Lankshear <dougl@ActiveState.com>
  507.