Thema: Delphi Nocheinmal NetJoinDomain

Einzelnen Beitrag anzeigen

CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#8

Re: Nocheinmal NetJoinDomain

  Alt 17. Dez 2004, 20:28
ich bin auch gerade dabei eine möglichkeit zu finden, die workgroup/domain am lokalen rechner zu ändern.

Delphi-Quellcode:
function NetJoinDomain(const lpServer: PWChar; const lpDomain:
  PWChar; const lpAccountOU: PWChar; const lpAccount: PWChar; const lpPassword:
  PWChar; const fJoinOptions: DWord): NET_API_STATUS; stdcall; external
'netapi32.dll';
ich habe es mit oben beschriebener funktion versucht. NET_API_STATUS wird als nicht deklariert angegeben.
habe es mal spaßeshalber durch String ersetzt.

siehe da es lässt sich komplilieren. und beim aurufen mit
domainmsg := NetJoinDomain('test',nil,nil,nil,nil,NETSETUP_DOMAIN_JOIN_IF_JOINED); wird die workgroup auch tatsächlich in 'test' umgeändert. aber leider kommt eine zugriffsverletzung gleich darauf und domainmsg ist immer noch leer.
Code:
access violation at 0012f7c4: write of address 0xf95be744
für was steht denn dieses NET_API_STATUS und wie komm ich da dran?

EDIT
auweia. die fehlermeldung ist ja ein fehlercode. also integer. NET_API_STATUS durch integer ersetzt und schon gehts
domainmsg ist nach dem setzen '0' also keine fehlermeldung.

zwei fragen bleiben dann trotzdem noch:
1. was ist NET_API_STATUS und warum ist das sinnvoller als einfach nur 'Integer'?
2. wie komme ich an die fehlercodes von folgenden meldungen ran?
Code:
ERROR_INVALID_PARAMETER A parameter is incorrect.
ERROR_NO_SUCH_DOMAIN The specified domain did not exist.
NERR_SetupAlreadyJoined The computer is already joined to a domain.
NERR_InvalidWorkgroupName The specified workgroup name is not valid.
  Mit Zitat antworten Zitat