Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

Доступ на папку только на чтение!   Найти похожие ветки 

 
serko ©   (2005-11-17 23:21) [0]


...
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", а как сделать только чтение?


 
Новичек ©   (2005-11-18 01:52) [1]

А так не проще FileSetAttr("D:\Temp", faReadOnly)?


 
Lamer@fools.ua ©   (2005-11-18 09:40) [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_DESCRIPTOR associated with this share.


 
serko ©   (2005-11-18 13:50) [3]


> А так не проще FileSetAttr("D:\Temp", faReadOnly)?


Мне нужен сетевой доступ на чтение!


> Lamer@fools.ua ©   (18.11.05 09:40) [2]


и как же тогда подправить мой код?



Страницы: 1 вся ветка

Текущий архив: 2006.02.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
6-1124059770
Delphi_is_cool
2005-08-15 02:49
2006.02.26
winsock - авторизация


2-1139777700
Norfolk
2006-02-12 23:55
2006.02.26
Обращиение к глобальным переменным из процедуры


1-1138108043
WebSQLNeeder
2006-01-24 16:07
2006.02.26
Многострочные записи в ValEdit


15-1138911475
Piter
2006-02-02 23:17
2006.02.26
Контрольная сумма TTH


2-1139808145
Rubey
2006-02-13 08:22
2006.02.26
Значение ключей в реестре