아래처럼 NT,2000 폴더를 읽기전용 또는 쓰기전용으로 공유 시키려는데....
공유설정은 되나 권한이 EVERYONE 모든권한으루 잡히네요.......
읽기/쓰기만 각각 잡는 법 좀 알려주세요.....
{ 컴퓨터의 드라이브 및 폴더를 공유시킨다.}
function fFolderShare(FilePath,NetName : String) : boolean;
var
HInst: THandle;
FPointer: TFarProc;
MyFunctNT: TMyNetShareAddForNT;
Share : TShareInfo502;
NameBuffer, CommentBuffer, PathBuffer : array[0..256] of WideChar;
parmErr : DWord;
begin
FillChar(Share,SizeOf(TShareInfo502),0);
Share.name:= StringToWideChar(NetName,NameBuffer,256); //공유이름
Share.shareType:= 0; // Disk or Folder 공유
Share.remark:= StringToWideChar('공유',CommentBuffer,256); //공유설명
Share.permissions:= 256 or 1; //읽기전용 권한 설정
Share.maxUses:= 0; //최대 사용자 수 Unlimited
Share.path:= StringToWideChar(FIlePath,PathBuffer,256); //공유할 폴더 경로명
HInst := LoadLibrary ('NETAPI32.DLL');
if HInst > 0 then
try
FPointer := GetProcAddress (HInst,'NetShareAdd');
if FPointer <> nil then
begin
MyFunctNT := TMyNetShareAddForNT(FPointer);
if MyFunctNT(Nil,502,@Share,parmErr) = 0 then // 컴퓨터 이름 (nil 은 Local Machine을 의미한다.)
Result := True
else
Result := False;
end
else
Result := False;
finally
FreeLibrary (HInst);
end
else
Result := False;
end;