home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _aa5bb4342db07161e8eeab09b3276419 < prev    next >
Text File  |  2000-03-23  |  13KB  |  450 lines

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