AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Domäne auslesen und NetApiBufferFree(pwuiWork)

Domäne auslesen und NetApiBufferFree(pwuiWork)

Ein Thema von Ati · begonnen am 23. Jan 2006 · letzter Beitrag vom 23. Jan 2006
Antwort Antwort
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#1

Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 07:24
Moin zusammen,

ich habe aus einem Beitrag den Code zum Auslesen der Domäne gefunden. Jetzt muß ich zugeben das ich bezogen auf die API unbefleckt von jeglicher Sachkenntnis bin (ich gelobe da aber Besserung). Jedoch gibt es zum Schluß folgende Code-Zeile:NetApiBufferFree(pwuiWork); diese verursacht aber bei mir eine Fehlermeldung (liegt wahrscheinlich an der nicht eingebundenden Unit welche nicht existiert). Ach so die Fehlermeldung lautet "Undefinierter Bezeichner". Alles funktioniert zwar einwandfrei wenn ich diese Zeile ausklammere aber das ist ja wohl nicht im Sinne des Erfinders. Wie muß ich das entsprechend ändern? Hier mal der ganze entsprechende Code:
Delphi-Quellcode:
type

  PWKSTA_USER_INFO_1 = ^WKSTA_USER_INFO_1;
  WKSTA_USER_INFO_1 = packed record
    wkui1_username : PWChar;
    wkui1_logon_domain : PWChar;
    wkui1_oth_domains : PWChar;
    wkui1_logon_server : PWChar;
  end;

function NetWkstaUserGetInfo(
    const reserved : PWChar;
    const level : DWord;
    const bufptr : Pointer
    ) : NET_API_STATUS; stdcall; external 'netapi32.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
  pwuiWork : PWKSTA_USER_INFO_1;

begin
  if NetWkstaUserGetInfo(nil,1,@pwuiWork) = NErr_Success then
  begin
    try
      ShowMessage(
        WideCharToString(pwuiWork.wkui1_logon_domain)
        );
    finally
      NetApiBufferFree(pwuiWork);
    end;
  end;
end;
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 07:31
[delphi]
function NetApiBufferFree(Buffer: Pointer): NET_API_STATUS; stdcall; external 'netapi32.dll';
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#3

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 07:42
Vielen vielen Dank. Jetzt funktioniert es einwandfrei. Habe jetzt noch nicht die Suche bemüht frage aber trotzdem mal, wie man sich in diese Thematik am besten einfindet. Damit sind ja anscheinend ein paar "tolle" Sachen möglich .
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#4

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 08:08
Jetzt hatte ich schon den Schampus aufgemacht weil es funktionierte und wollte das ein wneig ändern, so das diese Information wie alle anderen in einer Listbox erscheint und und sagt er zu ^WKSTA_USER_INFO_1; undefinierter Bezeichner. Warum jetzt und vorhin nicht??
Das heißt der Code der vorher gepostet wurde geht auch nicht mehr!!
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#5

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 08:39
So habe jetzt nochmal ein neues Projekt erstellt um Schritt-für-Schritt vorgehen zu können. Jetzt wird aber nicht mehr ^WKSTA_USER_INFO_1; angemeckert sondern zur allgemeinen Überraschung NET_API_STATUS
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#6

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 09:06
Hat sich zum Teil erledigt. Wenn man so blöd ist und
Delphi-Quellcode:
type

  PWKSTA_USER_INFO_1 = ^WKSTA_USER_INFO_1;
  WKSTA_USER_INFO_1 = packed record
    wkui1_username : PWChar;
    wkui1_logon_domain : PWChar;
    wkui1_oth_domains : PWChar;
    wkui1_logon_server : PWChar;
  end;
zweimal verwendet sollte ein nicht wundern. Net_Api_Status-Meldung mit
Delphi-Quellcode:
type
  
  NET_API_STATUS = Integer;
auch erledigt. Was ich noch nicht hinbekomme ist das ganze in einer Funktion umzuwandeln, damit die Domäne in einer Listbox auftaucht. Aber da werde ich mich jetzt erstmal selber durchkämpfen.

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 10:43
Moin Ati,

NET_API_STATUS ist als DWORD definiert
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#8

Re: Domäne auslesen und NetApiBufferFree(pwuiWork)

  Alt 23. Jan 2006, 10:46
Ups habe ich geändert.
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz