Here's some code to add shares to a computer. I'm sure somebody could use it, and I'll bet lotsa people could improve it.
Code:'THIS CODE IS FOR NT/2000 '5-3-2001 by JoshT Option Explicit Private Const STYPE_DISKTREE = 0 'disk drive Private Const STYPE_PRINTQ = 1 'printer Private Const STYPE_DEVICE = 2 Private Const STYPE_IPC = 3 Private Type SHARE_INFO_2 shi2_netname As String 'LPWSTR shi2_type As Long 'DWORD shi2_remark As String 'LPWSTR shi2_permissions As Long 'DWORD shi2_max_uses As Long 'DWORD shi2_current_uses As Long 'DWORD shi2_path As String 'LPWSTR shi2_passwd As String 'LPWSTR End Type 'NetShareAdd returns 0 if no error ' 'lpwstrServerName As Any, --the computer to create the share on, ' NULL for local computer, ' otherwise must begin with "\\" 'ByVal dwordLevel As Long, -- specifies the type struct that contains the data ' 2 for SHARE_INFO_2 Struct ' 502 for SHARE_INFO_502 Struct 'ByVal lpbyteBuf As Any, -- pointer to the struct who type was specified above 'lpdwordParmErr As Long, -- if an error in the struct, the number of the struct's parameter ' that caused the error (0 is no error) Private Declare Function NetShareAdd Lib "netapi32.dll" _ (lpwstrServerName As String, _ ByVal dwordLevel As Long, _ ByVal lpbyteBuf As Any, _ lpdwordParmErr As Long) As Long Private Sub TestIt() Dim si2 As SHARE_INFO_2 Dim retval As Long Dim parmerr As Long parmerr = 0 si2.shi2_netname = "DownloadE" & vbNullChar 'the name of the share si2.shi2_type = STYPE_DISKTREE 'the share is on the disk si2.shi2_remark = "Testing Out NetShareAdd VB API" & vbNullChar 'the comment si2.shi2_permissions = 0 'this should be ignored si2.shi2_max_uses = -1 'unlimited connections si2.shi2_current_uses = 0 'I don't think this is applicable si2.shi2_path = "E:\Download" & vbNullChar 'the path to the share si2.shi2_passwd = vbNullString 'NULL, the password 'this should be ignored retval = NetShareAdd(vbNullString, 2, VarPtr(si2), parmerr) End Sub Private Sub Form_Load() TestIt End Sub




Reply With Quote