Gültig für UNIX und Windows.
Hinweis: Diese Funktion ist neu in CA ITCM und kann daher nicht mit älteren Versionen des Skript-Interpreters verwendet werden.
Die Funktion "OpenPipe" öffnet eine Named Pipe zum Lesen oder Schreiben einer Client-Rolle.
Diese Dateiinhaltsfunktion hat das folgende Format:
OpenPipe(pipename as String, access as Integer) as Integer
Gibt den Namen der zu öffnenden Pipe an.
Unter UNIX ist "pipename" ein gültiger Pfadname.
Unter Windows wird das Format \\.\pipe\xxx verlangt, wobei xxx aus beliebigen Zeichen mit Ausnahme von "\" bestehen kann.
Gibt an, in welcher Richtung die Pipe verwendet wird.
(Wert 0) Zum Lesen geöffnet.
(Wert 1) Zum Schreiben geöffnet.
Sie können das zurückgegebene Datei-Handle mit den Funktionen "ReadFile", "WriteFile" und "CloseFile" verwenden. "OpenPipe" wird in einem Prozess verwendet, der als Pipe-Client agiert. Bevor Sie "OpenPipe" aufrufen, müssen Sie "CreatePipe" ausführen.
Die Pipe arbeitet im Blockiermodus. Die Lese- oder Schreibfunktionen, die auf "OpenPipe" folgen, warten solange, bis vom Server die jeweils umgekehrte Funktion verwendet wurde.
Bei erfolgreichem Abschluss gibt die Funktion eine nicht negative Ganzzahl zurück, die das Datei-Handle darstellt. Bei Fehlschlagen der Funktion wird -1 zurückgegeben.
Beispiel: Funktion "OpenPipe"
Dieses Beispiel zeigt die Arbeitsweise eines Named Pipe-Clients. Dabei wird der als erstes Argument angegebene Befehl von der Pipe gelesen und die als zweites Argument angegebene Antwort in die Pipe geschrieben.
dim rc, h0, h1, i as integer
dim pnam0, pnam1 as string
dim stopstring as string
dim s, s1 as string
dim iswin as boolean
pnam0 = argv(1)
pnam1 = argv(2)
stopstring = "---END---"
h0 = OpenPipe(pnam0, O_READ)
h1 = OpenPipe(pnam1, O_WRITE)
if h0 < 0 or h1 < 0 then
print "open pipe failure. h0: " + str(h0) + " h1: " + str(h1)
print "pnam0: " + pnam0 + " pnam1: " + pnam1
exit
end if
rc = ReadFile(h0, s)
print "read command rc: " + str(rc) + " " + s
if rc then
for i = 1 to 5
s1 = "RSP " + s + " line " + str(i)
rc = WriteFile(h1, s1)
if not(rc) then
print "write failed: " + s1
exit for
end if
next i
if rc then
rc = WriteFile(h1, stopstring)
if rc then
print "test successful"
end if
end if
end if
CloseFile(h0)
CloseFile(h1)
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|