Nun gut ich bin ein ganzes Stück weiter. Da ich zum erstenmal mit derartigen Sachen arbeite habe ich jetzt folgenden Code zum dynamischen Einbinden:
Delphi-Quellcode:
ype TcsNetWkstaUserGetInfo =
function(
const reserved : PWChar;
const level : DWord;
const bufptr : Pointer
) : NET_API_STATUS;
stdcall;
type Tnetapibufferfree =
function(
const buffer :pointer
) : NET_API_STATUS;
stdcall;
function Domaene (
const AItems:TStrings):
String;
var
NetWkstaUserGetInfo: TcsNetWkstaUserGetInfo;
pwuiWork : PWKSTA_USER_INFO_1;
Handle: THandle;
netapibufferfree:Tnetapibufferfree;
begin
Handle := LoadLibrary('
netapi32.dll');
//if Handle <> 0 then begin
if NetWkstaUserGetInfo(
nil,1,@pwuiWork) = NErr_Success
then
begin
try
aitems.Add('
Domäne: '+WideCharToString(pwuiWork.wkui1_logon_domain));
finally
NetApiBufferFree(pwuiWork);
end;
end;
//end;
end;
Das ganze ist noch ohne Unterscheidung der Windowsversion. Beim drücken des Buttons soll die Funktion wie folgt aufgerufen werden:
Domaene(Listbox1.items);
Dies ruft jetzt aber eine Fehlermeldung auf. Genauer gesagt eine Zugriffsverletzung. Wie oder was muß ich ändern?
Ati