Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Zugriff auf Named Pipe ohne Netzanschluss

  Alt 8. Mär 2014, 13:23
Hallo zusammen.

ich verwende seit längerem Gerätetreibe z.B. für Kraftanzeigen, über die ich per Named Pipe von einem anderen Programm zugreife. Beide Programme laufen i.d.R. auf demselben Rechner. Das funktioniert unter XP und Win7 so weit auch einwandfrei. Das anlegen erfolgt über
Delphi-Quellcode:
  PipeName :PChar = '\\.\pipe\ForcePipe'+ #0 ;
    fPipe := CreateNamedPipe(PipeName, PIPE_ACCESS_DUPLEX,
     PIPE_TYPE_Message or PIPE_READMODE_Byte or PIPE_WAIT,
     PIPE_UNLIMITED_INSTANCES, 225, 255, NMPWAIT_USE_DEFAULT_WAIT, nil);
    if (fPipe <> INVALID_HANDLE_VALUE) then
      //Warten auf Clientzugriff
      bConnected := ConnectNamedPipe(FPipe, nil);
Jetzt habe ich einen XP-Rechner, der in keinem Netzwerk hängt und da funktioniert der Zugriff nicht. Mit
Delphi-Quellcode:
  pipe := '\\PC01.\pipe\ForcePipe';
  send := 'GETFORCE';

  if CallNamedPipe(PChar(pipe),
    @send[1],   // address of write buffer
    length(send),   // size, in bytes, of write buffer
    @recv[1],   // address of read buffer
    sizeof(recv),   // size, in bytes, of read buffer
    re,   // address of number of bytes read
    3000    // time-out time, in milliseconds
  ) then
  begin
    d := re;
    panel3.caption := recv;
  end
  else
    ShowMessage('Kein Connect zu ' + pipe);
bekomme ich die Meldung "Kein Connect zu \\PC01.\pipe\ForcePipe"
Sobald ich den Rechner mit einem Netz verbinde klappt es.

Was muss ich tun, damit NamedPipe auch bei einem Standalone-Rechner klappt?

Danke
Gerd
  Mit Zitat antworten Zitat