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

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Win32::NetResource - manage network resources in perl</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> Win32::NetResource - manage network resources in perl</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="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#data types">DATA TYPES</A></LI>
  26.     <LI><A HREF="#functions">FUNCTIONS</A></LI>
  27.     <UL>
  28.  
  29.         <LI><A HREF="#note">NOTE</A></LI>
  30.         <LI><A HREF="#note">NOTE</A></LI>
  31.     </UL>
  32.  
  33.     <LI><A HREF="#example">EXAMPLE</A></LI>
  34.     <LI><A HREF="#author">AUTHOR</A></LI>
  35. </UL>
  36. <!-- INDEX END -->
  37.  
  38. <HR>
  39. <P>
  40. <H1><A NAME="name">NAME</A></H1>
  41. <P>Win32::NetResource - manage network resources in perl</P>
  42. <P>
  43. <HR>
  44. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  45. <UL>
  46. <LI>Windows</LI>
  47. </UL>
  48. <HR>
  49. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  50. <PRE>
  51.     use Win32::NetResource;</PRE>
  52. <PRE>
  53.     $ShareInfo = {
  54.                     'path' => "C:\\MyShareDir",
  55.                     'netname' => "MyShare",
  56.                     'remark' => "It is good to share",
  57.                     'passwd' => "",
  58.                     'current-users' =>0,
  59.                     'permissions' => 0,
  60.                     'maxusers' => -1,
  61.                     'type'  => 0,
  62.                     };
  63. </PRE>
  64. <PRE>
  65.  
  66.     Win32::NetResource::NetShareAdd( $ShareInfo,$parm )
  67.         or die "unable to add share";</PRE>
  68. <P>
  69. <HR>
  70. <H1><A NAME="description">DESCRIPTION</A></H1>
  71. <P>This module offers control over the network resources of Win32.Disks,
  72. printers etc can be shared over a network.</P>
  73. <P>
  74. <HR>
  75. <H1><A NAME="data types">DATA TYPES</A></H1>
  76. <P>There are two main data types required to control network resources.
  77. In Perl these are represented by hash types.</P>
  78. <DL>
  79. <DT><STRONG><A NAME="item_%NETRESOURCE">%NETRESOURCE</A></STRONG><BR>
  80. <DD>
  81. <PRE>
  82.         KEY                    VALUE
  83. </PRE>
  84. <PRE>
  85.  
  86.         'Scope'         =>  Scope of an Enumeration
  87.                             RESOURCE_CONNECTED,
  88.                             RESOURCE_GLOBALNET,
  89.                             RESOURCE_REMEMBERED.</PRE>
  90. <PRE>
  91.  
  92.         'Type'          =>  The type of resource to Enum
  93.                             RESOURCETYPE_ANY    All resources
  94.                             RESOURCETYPE_DISK    Disk resources
  95.                             RESOURCETYPE_PRINT    Print resources</PRE>
  96. <PRE>
  97.  
  98.         'DisplayType'   =>  The way the resource should be displayed.
  99.                             RESOURCEDISPLAYTYPE_DOMAIN    
  100.                             The object should be displayed as a domain.
  101.                             RESOURCEDISPLAYTYPE_GENERIC    
  102.                             The method used to display the object does not matter.
  103.                             RESOURCEDISPLAYTYPE_SERVER    
  104.                             The object should be displayed as a server.
  105.                             RESOURCEDISPLAYTYPE_SHARE    
  106.                             The object should be displayed as a sharepoint.</PRE>
  107. <PRE>
  108.  
  109.         'Usage'         =>  Specifies the Resources usage:
  110.                             RESOURCEUSAGE_CONNECTABLE
  111.                             RESOURCEUSAGE_CONTAINER.</PRE>
  112. <PRE>
  113.  
  114.         'LocalName'     =>  Name of the local device the resource is 
  115.                             connected to.</PRE>
  116. <PRE>
  117.  
  118.         'RemoteName'    =>  The network name of the resource.</PRE>
  119. <PRE>
  120.  
  121.         'Comment'       =>  A string comment.</PRE>
  122. <PRE>
  123.  
  124.         'Provider'      =>  Name of the provider of the resource.</PRE>
  125. </DL>
  126. <DL>
  127. <DT><STRONG><A NAME="item_%SHARE_INFO">%SHARE_INFO</A></STRONG><BR>
  128. <DD>
  129. This hash represents the SHARE_INFO_502 struct.
  130. <PRE>
  131.         KEY                    VALUE
  132.         'netname'        =>    Name of the share.
  133.         'type'           =>    type of share.
  134.         'remark'         =>    A string comment.
  135.         'permissions'    =>    Permissions value
  136.         'maxusers'       =>    the max # of users.
  137.         'current-users'  =>    the current # of users.
  138.         'path'           =>    The path of the share.
  139.         'passwd'         =>    A password if one is req'd</PRE>
  140. </DL>
  141. <P>
  142. <HR>
  143. <H1><A NAME="functions">FUNCTIONS</A></H1>
  144. <P>
  145. <H2><A NAME="note">NOTE</A></H2>
  146. <P>All of the functions return FALSE (0) if they fail.</P>
  147. <DL>
  148. <DT><STRONG><A NAME="item_GetSharedResources"><CODE>GetSharedResources(\@Resources,dwType)</CODE></A></STRONG><BR>
  149. <DD>
  150. Creates a list in @Resources of %NETRESOURCE hash references.
  151. <P>The return value indicates whether there was an error in accessing
  152. any of the shared resources.  All the shared resources that were
  153. encountered (until the point of an error, if any) are pushed into
  154. @Resources as references to %NETRESOURCE hashes.  See example
  155. below.</P>
  156. <P></P>
  157. <DT><STRONG><A NAME="item_AddConnection"><CODE>AddConnection(\%NETRESOURCE,$Password,$UserName,$Connection)</CODE></A></STRONG><BR>
  158. <DD>
  159. Makes a connection to a network resource specified by %NETRESOURCE
  160. <P></P>
  161. <DT><STRONG><A NAME="item_CancelConnection"><CODE>CancelConnection($Name,$Connection,$Force)</CODE></A></STRONG><BR>
  162. <DD>
  163. Cancels a connection to a network resource connected to local device 
  164. $name.$Connection is either 1 - persistent connection or 0, non-persistent.
  165. <P></P>
  166. <DT><STRONG><A NAME="item_WNetGetLastError"><CODE>WNetGetLastError($ErrorCode,$Description,$Name)</CODE></A></STRONG><BR>
  167. <DD>
  168. Gets the Extended Network Error.
  169. <P></P>
  170. <DT><STRONG><A NAME="item_GetError">GetError( $ErrorCode )</A></STRONG><BR>
  171. <DD>
  172. Gets the last Error for a Win32::NetResource call.
  173. <P></P>
  174. <DT><STRONG><A NAME="item_GetUNCName">GetUNCName( $UNCName, $LocalPath );</A></STRONG><BR>
  175. <DD>
  176. Returns the UNC name of the disk share connected to $LocalPath in $UNCName.
  177. <P></P></DL>
  178. <P>
  179. <H2><A NAME="note">NOTE</A></H2>
  180. <P>$servername is optional for all the calls below. (if not given the
  181. local machine is assumed.)</P>
  182. <DL>
  183. <DT><STRONG><A NAME="item_NetShareAdd">NetShareAdd(\%SHARE,$parm_err,$servername = NULL )</A></STRONG><BR>
  184. <DD>
  185. Add a share for sharing.
  186. <P></P>
  187. <DT><STRONG><A NAME="item_NetShareCheck">NetShareCheck($device,$type,$servername = NULL )</A></STRONG><BR>
  188. <DD>
  189. Check if a share is available for connection.
  190. <P></P>
  191. <DT><STRONG><A NAME="item_NetShareDel">NetShareDel( $netname, $servername = NULL )</A></STRONG><BR>
  192. <DD>
  193. Remove a share from a machines list of shares.
  194. <P></P>
  195. <DT><STRONG><A NAME="item_NetShareGetInfo">NetShareGetInfo( $netname, \%SHARE,$servername=NULL )</A></STRONG><BR>
  196. <DD>
  197. Get the %SHARE_INFO information about the share $netname on the
  198. server $servername.
  199. <P></P>
  200. <DT><STRONG><A NAME="item_NetShareSetInfo">NetShareSetInfo( $netname,\%SHARE,$parm_err,$servername=NULL)</A></STRONG><BR>
  201. <DD>
  202. Set the information for share $netname.
  203. <P></P></DL>
  204. <P>
  205. <HR>
  206. <H1><A NAME="example">EXAMPLE</A></H1>
  207. <PRE>
  208.     #
  209.     # This example displays all the share points in the entire
  210.     # visible part of the network.
  211.     #</PRE>
  212. <PRE>
  213.     use strict;
  214.     use Win32::NetResource qw(:DEFAULT GetSharedResources GetError);
  215.     my $resources = [];
  216.     unless(GetSharedResources($resources, RESOURCETYPE_ANY)) {
  217.         my $err = undef;
  218.         GetError($err);
  219.         warn Win32::FormatMessage($err);
  220.     }</PRE>
  221. <PRE>
  222.     foreach my $href (@$resources) {
  223.         next if ($$href{DisplayType} != RESOURCEDISPLAYTYPE_SHARE);
  224.         print "-----\n";
  225.         foreach( keys %$href){
  226.             print "$_: $href->{$_}\n";
  227.         }
  228.     }</PRE>
  229. <P>
  230. <HR>
  231. <H1><A NAME="author">AUTHOR</A></H1>
  232. <P>Jesse Dougherty for Hip Communications.</P>
  233. <P>Additional general cleanups and bug fixes by Gurusamy Sarathy <<A HREF="mailto:gsar@activestate.com">gsar@activestate.com</A>>.</P>
  234. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  235. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  236. <STRONG><P CLASS=block> Win32::NetResource - manage network resources in perl</P></STRONG>
  237. </TD></TR>
  238. </TABLE>
  239.  
  240. </BODY>
  241.  
  242. </HTML>
  243.