![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доступ на папку только на чтение! [D6, Win95/98, WinXP]
serko © (2005-11-17 23:21:00)
...
implementation
...
function NetShareAdd(ServerName: PChar;
Level: Word;
PShareInfo: PChar;
ParmErr: DWord): dword; stdcall; external
'NetApi32.dll';
...
procedure TForm1.Button1Click(Sender: TObject);
const
STYPE_DISKTREE = $0;
STYPE_PRINTQ = $1;
STYPE_DEVICE = $2;
STYPE_IPC = $3;
ACCESS_NONE = $0;
ACCESS_READ = $1;
ACCESS_WRITE = $2;
ACCESS_CREATE = $4;
ACCESS_EXEC = $8;
ACCESS_DELETE = $10;
ACCESS_ATRIB = $20;
ACCESS_PERM = $40;
ACCESS_FINDFIRST = $80;
ACCESS_GROUP = $8000;
ACCESS_ALL = (ACCESS_READ or ACCESS_WRITE or ACCESS_CREATE or ACCESS_EXEC or
ACCESS_DELETE or ACCESS_ATRIB or ACCESS_PERM or ACCESS_FINDFIRST);
type
_SHARE_INFO_2 = record
shi2_netname: LPWSTR;
shi2_type: DWORD;
shi2_remark: LPWSTR;
shi2_permissions: DWORD;
shi2_max_uses: DWORD;
shi2_current_uses: DWORD;
shi2_path: LPWSTR;
shi2_passwd: LPWSTR;
end;
var
shi: _SHARE_INFO_2;
res: DWORD;
err: Cardinal;
begin
err := 0;
with shi do
begin
shi2_netname := 'TestShare';
shi2_type := STYPE_DISKTREE;
shi2_remark := 'My Test Share';
shi2_permissions := ACCESS_READ;
shi2_max_uses := 10;
shi2_current_uses := 0;
shi2_path := 'D:\Temp';
shi2_passwd := nil;
end;
res := NetShareAdd(nil, 2, @shi, err);
if res <> 0 then
ShowMessage(SysErrorMessage(GetLastError))
else SHChangeNotify(SHCNE_NETSHARE, SHCNF_PATH, PChar(shi.shi2_path), nil);
end;
<\Code>
Этот код открывает полный доступ на папку 'D:\Temp', а как сделать только чтение?
serko (2005-11-18 13:50:00) [1]
> А так не проще FileSetAttr('D:\Temp', faReadOnly)?
Мне нужен сетевой доступ на чтение!
> Lamer@fools.ua © (18.11.05 09:40) [2]
и как же тогда подправить мой код?
Lamer@fools.ua (2005-11-18 09:40:00) [2]>> serko © (17.11.05 23:21)
shi502_permissions
...
Note that the Windows Server 2003 family, Windows XP, Windows 2000, and Windows NT do not support share-level security. For more information about controlling access to securable objects, see Access Control, Privileges, and Securable Objects.
shi502_security_descriptor
Specifies the SECURITY_DESCRIPTORassociated with this share.
Новичек (2005-11-18 01:52:00) [3]А так не проще FileSetAttr('D:\Temp', faReadOnly)?