Hallo,
Ist folgendes Verhalten normal?
Ich erstelle eine Pipe:
pipe := CreateNamedPipe('\\.\pipe\mypipe', PIPE_ACCESS_INBOUND, PIPE_TYPE_MESSAGE or PIPE_WAIT, 2, 4096*1024, 4096*1024, 0, nil);
Ein 2. Prozess öffnet die Pipe per CreateFile, schreibt Daten herein und schließt das Filehandle.
Danach lese ich den Inhalt aus:
Delphi-Quellcode:
var Buff: Array of Byte;
br: Cardinal;
begin
SetLength(Buff, 4096*1024);
ReadFile(pipe, Buff[0], 4096*1024, br, nil);
end;
Das funktioniert soweit, allerdings ist die Pipe danach geschlossen. Ein anderer Prozess kann sie dann nicht mehr öffnen.
Warum ist das so? Ist das normal? Mache ich irgendwas komisch/falsch?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."