Delphi(Pascal) codeunit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
PShare_Info_2 = ^TSHARE_INFO_2;
TSHARE_INFO_2 = record
shi2_netname: PWideChar;
shi2_type: DWORD;
shi2_remark: PWideChar;
shi2_permissions: DWORD;
shi2_max_uses: DWORD;
shi2_current_uses: DWORD;
shi2_path: PWideChar;
shi2_passwd: PWideChar;
End;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function NetShareGetInfo(ServerName : PWideChar; NetName : PWideChar; ShareLevel : DWORD;var Buffer : Pointer) : Integer;stdcall;external 'netapi32.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
ShInfo: PShare_Info_2;
lError: DWord;
shareName:PWideChar;
shareNames:PWideChar;
begin
new(ShInfo);
shareName:='test';
shareNames:=shareName;
lError :=NetSharegetInfo(nil,shareNames,2,Pointer(ShInfo));
showmessage(inttostr(lError));
showmessage(WideCharToString(ShInfo.shi2_path));
end;
end.