分享
 
 
 

98/ME下实现文件夹的共享和删除共享

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

'独立模块中输入

Option Explicit

' 共享错误信息

Public Const NERR_NoWorkstation = 2102 ' 工作站驱动器未被安装.

Public Const NERR_UnknownServer = 2103 ' 机器名不可用.

Public Const NERR_RemoteOnly = 2106 ' 该操作不被机器支持.

Public Const NERR_ServerNotStarted = 2114 ' 服务未启动.

Public Const NERR_UnknownDevDir = 2116 ' 目录或驱动器不存在.

Public Const NERR_RedirectedPath = 2117 ' 该共享资源不能被共享.

Public Const NERR_DuplicateShare = 2118 ' 该共享名已被使用.

Public Const NERR_NetworkError = 2136 ' 发生一般网络错误,共享失败.

Public Const NERR_InvalidAPI = 2142 ' 该API不被远端机器所支持.

' 标准错误信息

Public Const ERROR_ACCESS_DENIED = 5

Public Const ERROR_INVALID_PARAMETER = 87

Public Const ERROR_INVALID_NAME = 123

Public Const ERROR_INVALID_LEVEL = 124

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal lBytes As Long)

' 共享类型

Public Const STYPE_DISKTREE = 0

Public Const STYPE_PRINTQ = 1

Public Const STYPE_DEVICE = 2

Public Const STYPE_IPC = 3

Public Const STYPE_SPECIAL = &H80000000

Public Const SHI_USES_UNLIMITED = -1&

' 共享权限

Public Const SHI50F_RDONLY = &H1

Public Const SHI50F_FULL = &H2

Public Const SHI50F_DEPENDSON = SHI50F_RDONLY Or SHI50F_FULL

Public Const SHI50F_ACCESSMASK = SHI50F_RDONLY Or SHI50F_FULL

Public Const SHI50F_PERSIST = &H100

Public Const SHI50F_SYSTEM = &H200 '/* 该共享是不可见的 */

Public Const LM20_NNLEN = 12 '// LM 2.0 机器名长度

Public Const LM20_UNLEN = 20 '// LM 2.0 用户名称最大长度

Public Const LM20_PWLEN = 14 '// LM 2.0 密码最大长度

Public Const SHPWLEN = 8 '// 共享密码 (bytes)

Public Const SHARELEVEL50 = 50

Public Type SHARE_INFO_50

yNetName(LM20_NNLEN) As Byte 'charshi50_netname[LM20_NNLEN+1];

'/* 共享名称 */

yType As Byte ' unsigned char shi50_type;

nFlags As Integer ' short shi50_flags;

lpzRemark As Long ' char FAR *shi50_remark;

lpzPath As Long ' char FAR *shi50_path;

'/* 共享路径 */

yRWPassword(SHPWLEN) As Byte ' char shi50_rw_password[SHPWLEN+1];

'/* 可读/写共享密码 */

yROPassword(SHPWLEN) As Byte ' char shi50_ro_password[SHPWLEN+1];

'/* 只读共享密码 */

End Type

Public Declare Function NetShareAdd50 Lib "svrapi" Alias "NetShareAdd" _

(ByVal lpzServerName As String, _

ByVal nShareLevel As Integer, _

ShareInfo As Any, _

ByVal nBufferSize As Integer) As Long

Public Declare Function NetShareDelete Lib "svrapi" Alias "NetShareDel" _

(ByVal lpzServerName As String, _

ByVal sShareName As String, _

ByVal nReserved As Integer) As Long

'*************建立共享********************

Public Function CreateShare(ByVal sSharePath As String, _

ByVal sShareName As String, _

ByVal sRemark As String, _

ByVal sROPass As String, _

ByVal sRWPass As String) As Long

Dim ShareInfo As SHARE_INFO_50

Dim lReturn As Long

Dim sServerName As String

Dim ySharePath() As Byte

Dim yRemark() As Byte

sServerName = "" '建立一个本地共享

With ShareInfo

.yType = STYPE_DISKTREE ' Disk type share

.nFlags = SHI50F_PERSIST + SHI50F_DEPENDSON ' + SHI50F_SYSTEM '

ySharePath() = StrConv(UCase$(sSharePath & vbNullChar), vbFromUnicode)

.lpzPath = VarPtr(ySharePath(0))

yRemark() = StrConv(sRemark & vbNullChar, vbFromUnicode)

.lpzRemark = VarPtr(yRemark(0))

Erase .yNetName()

sShareName = UCase$(sShareName & vbNullChar)

CopyMemory .yNetName(0), ByVal sShareName, Len(sShareName)

Erase .yRWPassword()

sRWPass = UCase$(sRWPass & vbNullChar)

CopyMemory .yRWPassword(0), ByVal sRWPass, Len(sRWPass)

Erase .yROPassword()

sROPass = UCase$(sROPass & vbNullChar)

CopyMemory .yROPassword(0), ByVal sROPass, Len(sROPass)

End With

lReturn = NetShareAdd50(sServerName, SHARELEVEL50, ShareInfo, LenB(ShareInfo))

Debug.Print "lReturn:"; lReturn

CreateShare = lReturn

End Function

'******************删除共享**************************

Public Function DeleteShare(ByVal sShareName As String) As Long

DeleteShare = NetShareDelete("", UCase$(sShareName), 0)

Debug.Print "lReturn:"; DeleteShare, "DLL Error:"; Err.LastDllError

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有