救命啊!搞了几天看了N次msdn还是不知道怎么在程序里把共享创建成只读的!
用shi2_permissions = ACCESS_READ; 得到的还是可写的!
密码设置了也是白废!根本没用!
msdn说这两个参数要在share-level security时才有效,可是怎么才能用share-leverl security却一字不提!
问题点数:100、回复次数:11Top
1 楼zyoujie()回复于 2002-06-02 11:12:28 得分 0
对什么设置呢?
文件?数据库?Top
2 楼bearforcat(大大熊猫)回复于 2002-06-02 11:17:41 得分 0
哇塞,不懂也up啊,没人理感觉真不好Top
3 楼feifei2001(鼠标)回复于 2002-06-02 11:19:27 得分 0
什么东西,没说清楚??
不懂。Top
4 楼bearforcat(大大熊猫)回复于 2002-06-02 11:39:52 得分 0
NetShareAdd()函数在XP里创建共享啊,shi2_permissions 就是它的参数的一部分
上面那东西看不清的我想也不太可能能解决我的问题了 :PTop
5 楼bearforcat(大大熊猫)回复于 2002-06-02 13:08:41 得分 0
拜托说句吧,我真的拿它没办法啊Top
6 楼certbuggy(代码虫子)回复于 2002-06-02 13:35:43 得分 60
share-level security是指win98,win98下的情况,用户都在工作组中,目录或打印机一旦共享,就可以被统一子网内任何机器访问(如果密码正确的话)
与之相对应的是user-level security,用户在域模型中的情况(winnt,win2000),如果共享的话,只可以被授权用户访问,这是一种比较严格的安全机制。
winXP我不是很熟悉,但我想他应该是User-level security.他的一些API可能相对于Win98,win2000,winnt有很大的不同,这一点你也要考虑到。建议你去查www.microsoft.com上最新的MSDN文档资料,应该会有所收获Top
7 楼bearforcat(大大熊猫)回复于 2002-06-02 14:06:42 得分 0
NetShareAdd()我说的那个参数就是用在2000/XP的,就是没法用share-levelTop
8 楼bearforcat(大大熊猫)回复于 2002-06-02 14:09:24 得分 0
总之我现在想在XP里给创建一个有密码的只读的共享,不是那种通过用户判断
访问权限的安全设置,要像98那样通过密码访问,帮帮我吧,我心力交瘁!Top
9 楼bearforcat(大大熊猫)回复于 2002-06-02 14:10:40 得分 0
2000里的也行
谢谢了,星期天整天都在线等待你们回答Top
10 楼Yokishiro(狂狼啸月)回复于 2002-06-02 16:10:43 得分 40
看了一下MSDN
The NetShareSetInfo function sets the parameters of a shared resource.就是你说的Shared Level Security
NetShareAdd的level参数,要启动必须用NetShareSetInfo来启用它。
level
[in] Specifies the information level of the data. This parameter can be one of the following values.
Windows NT/2000 or later: The following levels are valid. Value Meaning
2 Specifies information about the shared resource, including name of the resource, type and permissions, and number of connections. The buf parameter points to a SHARE_INFO_2 structure.
502 Specifies information about the shared resource, including name of the resource, type and permissions, number of connections, and other pertinent information. The buf parameter points to a SHARE_INFO_502 structure.
你可以用NetShareSetInfo第三个参数设置2或者502
不知道你是不是已经这么做的,我不太懂这个。
Top
11 楼bearforcat(大大熊猫)回复于 2002-06-02 17:04:13 得分 0
这个我倒没试过,NetShareAdd()里就有那个level参数的
没办法,只有用NetShareSetInfo()试试了Top
12 楼bearforcat(大大熊猫)回复于 2002-06-02 17:45:30 得分 0
还是不行,唉~~~~~~~~~~~~
难道就真的没人会?我还以为自己是菜鸟才不会的,你们也不过如此!Top



