Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];

Вниз

NetShareAdd и скрытые ресурсы   Найти похожие ветки 

 
ALi   (2002-03-25 13:22) [0]

Здравия желаю!
Сабж при попытку создать скрытый ресурс (напр. TEST$) ругается ошибкой Access Denied. Пользователь имеет права администратора. Ресурсы без $ создаются и удаляются нормально.
Кто знает где грабли?


 
Tosov   (2002-03-25 17:27) [1]

Покажи код создания сетевика. У меня с $ все работает нормально.


 
ALi   (2002-03-26 15:30) [2]

To Tosov
Вот код:

.....
Type
Share_INFO_2= record
shi2_netname:PWideChar;
shi2_type:DWORD;
shi2_remark:LPTSTR;
shi2_permissions:DWORD;
shi2_max_uses:DWORD;
shi2_current_uses:DWORD;
shi2_path:PWideChar;
shi2_passwd:LPTSTR;
end;
PShare_INFO_2 = ^Share_INFO_2;
LPShare_INFO_2 = ^Share_INFO_2;

SHARE_INFO_502 =record
shi502_netname: PCHAR;
shi502_type: DWORD;
shi502_remark: PCHAR;
shi502_permissions: DWORD;
shi502_max_uses: DWORD;
shi502_current_uses: DWORD;
shi502_path: PCHAR;
shi502_passwd: PCHAR;
shi502_reserved: DWORD;
shi502_security_descriptor: PSECURITY_DESCRIPTOR;
end;
PSHARE_INFO_502= ^SHARE_INFO_502;
LPSHARE_INFO_502=^SHARE_INFO_502;


const

STYPE_DISKTREE = $0001;
ACCESS_READ = $0001;

var
Form1: TForm1;
F:Cardinal;
function NetShareAdd(
Server : PwideChar;
level : cardinal;
Buf : Pointer;
var Parm_Err : DWORD):Cardinal;stdcall; external "netapi32.dll" name "NetShareAdd";

function NetShareDel(
Server : PwideChar;
NetName : PwideChar;
Reserved : DWORD): Cardinal;stdcall; external "netapi32.dll" name "NetShareDel";

Implementation
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
buf:Pointer;
UserInf:Share_INFO_2;
UserInf502:Share_INFO_502;
err:dWord;
begin

err:=0;
f:=0;
UserInf.shi2_netname:=PWideChar("TEST$");
UserInf.shi2_type:=0;
UserInf.shi2_remark:="";
UserInf.shi2_permissions:=1;
UserInf.shi2_max_uses:= 1;
UserInf.shi2_current_uses:=0;
UserInf.shi2_path:=PWideChar("C:\TEST");
UserInf.shi2_passwd:=nil;

GetMem(Buf ,sizeof(UserInf));

F:=NetSHAREAdd(nil,2,@UserInf,err);
ShowMessage(IntToStr(F));
ShowMessage(SysErrorMessage(GetLastError));
FreeMem(Buf);

end;


procedure TForm1.Button2Click(Sender: TObject);
begin
NetShareDel(nil,PWideChar("TEST$"),0);
ShowMessage(IntToStr(F));

end;


 
Tosov   (2002-03-26 17:15) [3]

Этот код на D6 работает, если не считать мелочей -
UserInf.shi2_path:="C:\TEST";
UserInf.shi2_netname:="TEST$";

PWideChar - убрал.

Если ты делаешь вывод о неработоспособности кода по ShowMessage(SysErrorMessage(GetLastError));
то надо проверять не GetLastError, а результат функции (F)


 
ALi   (2002-03-26 18:20) [4]

Похоже преобразование типов TCaption > PWideChar (у меня путь и имя берутся из TEdit) производится криво - получается белиберда типа ???$@^$, как его еще конвертить-то?
А код действительно рабочий.
и последним замечанием полностью согласен :-)


 
Tosov   (2002-03-27 00:51) [5]

>как его еще конвертить-то?
Примерно так:
var
Text:PChar; //String,array of Char,TCaption
wText : PWideChar;
Size:Cardinal;
begin
size := SizeOf (WideChar) * Length (text)+1;
GetMem (wText, Size);
wText := StringToWideChar (Text, wText, Length (Text) + 1);


и где-нибудь потом
FreeMem(wText);


 
ALi   (2002-03-27 07:15) [6]

Спасибо Андрей все заработало!



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

Форум: "Сети";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.065 c
3-17796
E-Master
2002-05-11 18:45
2002.06.06
DBGridProи подобные ...


14-18114
copyr25
2002-04-30 20:00
2002.06.06
Цензура в сетке? Помните, такая синяя ленточка была на сайтах?


1-17933
yar
2002-05-26 23:45
2002.06.06
Delphi Update Pack 2 (надо ужить вместе Delphi 6 и C++Builder 6)


14-18137
Санёк
2002-05-01 18:57
2002.06.06
Программка :-)


1-17954
AL2002
2002-05-28 10:21
2002.06.06
Delphi Manual?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский