Форум: "Сети";
Текущий архив: 2009.11.01;
Скачать: [xml.tar.bz2];
ВнизNetWkstaUserGetInfo - как правильно использовать? Найти похожие ветки
← →
tytus (2008-04-24 17:17) [0]Доброго дня всем.
Вот пытаюсь разобраться с сией ф-ей.
Что получилось:
описание структурыtype
PWKSTA_USER_INFO_1 = ^TWKSTA_USER_INFO_1;
TWKSTA_USER_INFO_1 = record
wkui1_username:LPWSTR;
wkui1_logon_domain:LPWSTR;
wkui1_oth_domains:LPWSTR;
wkui1_logon_server:LPWSTR;
end;
Описание функций:function NetWkstaUserGetInfo(reserved:PWChar; level:DWORD;
bufptr:Pointer):DWORD;stdcall;external "Netapi32.dll" Name "NetWkstaUserGetInfo";
function NetApiBufferAllocate(ByteCount:DWORD;
Buffer:Pointer):DWORD;stdcall;external "Netapi32.dll" Name "NetApiBufferAllocate";
function NetApiBufferFree(Buffer:Pointer):DWORD;stdcall;external "Netapi32.dll" Name "NetApiBufferFree";procedure TForm1.Button1Click(Sender: TObject);
var
WkUInfo:PWKSTA_USER_INFO_1;
begin
NetAPIBufferAllocate(1000,WkUInfo);
try
NetWkstaUserGetInfo(nil,1,WkUInfo);
RE1.Lines.Add(WideCharToString(WkUInfo^.wkui1_username));
finally
NetApiBufferFree(WkUInfo);
end;
end;
... где RE1 - TRichEdit, так вот вылетает AV на строке RE1.Lines.Add(WideCharToString....
Подскажите, что неправильно делаю...
← →
han_malign © (2008-04-24 17:53) [1]
> Подскажите, что неправильно делаю..
если судить по примеру из MSDN - то все...WkUInfo:= nil;
if( NetWkstaUserGetInfo(nil,1,@WkUInfo) = 0 )then begin
if(WkUInfo <> nil)then
RE1.Lines.Add(WideCharToString(WkUInfo^.wkui1_username));
end;
if(WkUInfo <> nil)then NetApiBufferFree(WkUInfo);
← →
tytus (2008-04-24 17:59) [2]>han_malign © (24.04.08 17:53) [1]
... спасибо.
Читал MSDN2 - там нету строчки чтобы указатель=nil;
А так в принципе - почти все правильно...
насчет @WkUInfo - забыл...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2009.11.01;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c