Конференция "Сети" » NetWkstaUserGetInfo - как правильно использовать? [D7, WinXP]
 
  • tytus (24.04.08 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 © (24.04.08 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 (24.04.08 17:59) [2]
    >han_malign ©   (24.04.08 17:53) [1]
    ... спасибо.
    Читал MSDN2 - там нету строчки чтобы указатель=nil;
    А так в принципе - почти все правильно...
    насчет @WkUInfo - забыл...
 
Конференция "Сети" » NetWkstaUserGetInfo - как правильно использовать? [D7, WinXP]
Есть новые Нет новых   [134431   +14][b:0][p:0.001]