2009-08-19 78 views

回答

4

首先用NetShareAdd()創建份額。這將與目錄共享一個null ACL,該ACL等於允許每個人完全訪問。無法在Windows上使用NetShareAdd配置權限。

一旦份額被創建,通過調用GetNamedSecurityInfoW()傳遞共享名,SE_LMSHAREObjectType得到共享的安全描述符,並DACL_SECURITY_INFORMATIONSecurityInfo。獲取描述符後,使用正常的Windows安全調用來配置ACL。

0

查看C/C++的NetShareAdd()(MSDN在頁面末尾包含一個示例程序)。

+0

NetShareAdd()不會讓您設置權限。該示例不使用權限。 – Gili 2009-08-19 19:07:56

+0

這個例子不選擇,但你可以。檢查SHARE_INFO_2結構中的信息頁面,有一個可以設置爲ACCESS_READ的權限成員。 http://msdn.microsoft.com/en-us/library/bb525408(VS.85).aspx – GRB 2009-08-19 19:12:25

+0

我們嘗試過。如果您查看「shi2_permissions」字段的文檔,它會顯示「請注意,Windows不支持共享級安全性」。也許可以用SHARE_INFO_502來做到這一點?任何想法如何爲它創建只讀安全描述符? – Gili 2009-08-19 19:19:22