GetLastError ist nur relevant, wenn eine Funktion fehlschlägt. Da aber die Funktionsaufrufe alle erfolgreich sind, ist GetLastError IMO nicht von Bedeutung. Code 183 = ERROR_ALREADY_EXISTS laut
Windows System Error Codes. Klingt auch logisch, wenn es die Pipe beim Aufruf von CreateFile bereits gab.
Wichtig wäre meiner Meinung nach, dass du beim Aufruf jeder
API-Funktion prüfst, ob selbiger erfolgreich war. Sowas wie
Delphi-Quellcode:
if CreateFile() then begin
...
if SetNamedPipeHandleState then begin
...
if WriteFile then
...
(Sofern die alle boolsche Rückgaben haben, was ich nicht geprüft habe.)
Grüße
Dalai