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

Вниз

NetApi32   Найти похожие ветки 

 
Style   (2003-05-20 08:30) [0]

Люди кто работал с сабжем. Как из него вытащить
NetShareAdd;

Пробывал так:
Написал global процедуру и описал подобную структуру как в Help

type
TShareInfo = record
NetName: pchar;
.....
.....
Path: pchar;
end;
PShareInfo = ^TShareInfo;
var
procedure NetShareAdd(ServerName: pchar; Level: dword; buf: PShare_Info;
param_err: pdword); stdcall; external; "netapi32.dll";

При юзании lpExit возвращает $08 .. Шаринг естественно не создается :(

Может структуру не правильно описал? в Cи шной хелпе buf -
указатель на структуру типа LPBYTE.. Чета я совсем не понял почему указатель на байт?


Помогите очень надо!


 
Digitman   (2003-05-20 08:56) [1]

function NetShareAdd(ServerName: p widechar; Level: dword; buf: PShare_Info;
param_err: pdword): NET_API_STATUS; stdcall; external "netapi32.dll";



 
Style   (2003-05-20 09:36) [2]

2 Digitman>> А описание PShare_Info не можешь дать??

Просто ServerName я все равно посылаю nil!
мне нужен localhost!






 
Style   (2003-05-20 09:38) [3]

Да и что такое NET_API_STATUS? Где его взять?


 
Style   (2003-05-20 09:41) [4]

Еще не понятно следующее
в структуре
typedef struct _SHARE_INFO_2

DWORD shi2_max_uses;
в хелпе написано
(unlimited if the value specified in shi2_max_uses
is -1).


DWORD = longword //signed не может быть -1


 
Digitman   (2003-05-20 09:55) [5]

NET_API_STATUS - это DWORD


стандартный хэлп от Борланда на эту тему читал ?

при level = 2:

typedef struct _SHARE_INFO_2 {
LPTSTR shi2_netname;
DWORD shi2_type;
LPTSTR shi2_remark;
DWORD shi2_permissions;
DWORD shi2_max_uses;
DWORD shi2_current_uses;
LPTSTR shi2_path;
LPTSTR shi2_passwd;
} SHARE_INFO_2, *PSHARE_INFO_2, *LPSHARE_INFO_2;

при level = 502:
typedef struct _SHARE_INFO_502 {
LPTSTR shi502_netname;
DWORD shi502_type;
LPTSTR shi502_remark;
DWORD shi502_permissions;
DWORD shi502_max_uses;
DWORD shi502_current_uses;
LPTSTR shi502_path;
LPTSTR shi502_passwd;
DWORD shi502_reserved;
PSECURITY_DESCRIPTOR shi502_security_descriptor;
} SHARE_INFO_502, *PSHARE_INFO_502, *LPSHARE_INFO_502


 
Digitman   (2003-05-20 09:58) [6]


> DWORD = longword //signed не может быть -1


зато DWORD"у ничто не мешает быть равным $FFFFFFFF )
это, по твоему, не -1 ?


 
Style   (2003-05-20 10:21) [7]

2 Digitman
ну не -1 но MaxUser точно :)

Только все равно не работает :(

type
NET_API_STATUS = dword;

TShare_Info = record
shi2_netname: pchar;
shi2_type: dword;
shi2_remark: pchar;
shi2_permissions: dword;
shi2_max_uses: dword;
shi2_current_uses: dword;
shi2_path: pchar;
shi2_passwd: pchar;
end;
PShare_Info = ^TShare_Info;

var
function NetShareAdd(ServerName: pwidechar; Level: dword; buf: PShare_Info;
param_err: pdword): NET_API_STATUS; stdcall; external "netapi32.dll";

procedure TForm1.Button1Click(Sender: TObject);
var
info: TShare_Info;
r: Net_Api_Status;
er: dword;

begin

info.shi2_netname := "php";
info.shi2_type := 0;
info.shi2_remark := "test share";
info.shi2_permissions := 0;
info.shi2_max_uses := $FFFFFFFF;
info.shi2_current_uses := 0;
info.shi2_path := "c:\php";
info.shi2_passwd := "";

r := NetShareAdd(nil,2,@info,@er);

Caption := "result = " + IntToStr(r) + " error = " + IntToStr(er);

end;


 
Style   (2003-05-20 10:28) [8]

Все понял

shi2_netname:PWideChar; // ОБЯЗАТЕЛЬНО PWideChar иначе работать не будет...
shi2_path:PWideChar;


 
Digitman   (2003-05-20 10:37) [9]


> ОБЯЗАТЕЛЬНО PWideChar


разумеется !)


 
Style   (2003-05-20 10:39) [10]

Ну в любом случае спасибо :)



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

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

Наверх





Память: 0.47 MB
Время: 0.015 c
14-78103
Omega27
2003-07-06 23:50
2003.07.24
перехват


3-77734
PlaTinum
2003-06-29 23:00
2003.07.24
Клиент/Сервер


8-78006
Fast
2003-04-02 23:54
2003.07.24
mp3->wav


7-78172
Nucl
2003-05-16 13:19
2003.07.24
2 монитора


14-78047
paxer
2003-07-09 19:00
2003.07.24
А есть ли Embedded для MySQL?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский