Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können [in], [out], und [in, out] Pipe-Parameter in einer beliebigen Kombination in einem einzelnen Aufruf kombinieren, aber Sie müssen die Rohre in einer bestimmten Reihenfolge verarbeiten, wie im folgenden Pseudocodebeispiel gezeigt:
Anmerkung
Dieses Feature wird in Windows Vista und späteren Plattformen nicht mehr unterstützt.
- Rufen Sie die Daten aus jeder Eingabepipeline ab, beginnend mit dem ersten [in] Parameter und wird in der Reihenfolge fortgesetzt, wobei die einzelnen Rohre abgelassen werden, bevor Sie mit der nächsten Verarbeitung beginnen.
- Nachdem jede Eingabepipeline vollständig verarbeitet wurde, senden Sie die Daten für die Ausgaberohre erneut, beginnend mit dem ersten [] Parameter, und setzen Sie die Einzelnen Rohre in der Reihenfolge fort, bevor Sie mit der nächsten Verarbeitung beginnen.
//in .IDL file:
void InOutUCharPipe( [in,out] UCHAR_PIPE *uchar_pipe_1,
[out] UCHAR_PIPE * uchar_pipe_2,
[in] UCHAR_PIPE uchar_pipe_3);
//remote procedure:
void InOutUCharPipe( UCHAR_PIPE *param1,
UCHAR_PIPE *param2,
UCHAR_PIPE param3)
{
while(!END_OF_PIPE1)
{
param1->pull (. . .);
. . .
};
while(!END_OF_PIPE3)
{
param3.pull (. . .);
. . .
};
while(!END_OF_PIPE1)
{
param1->push (. . .);
. . .
};
while(!END_OF_PIPE2)
{
param2->push(. . .);
. . .
};
} //end InOutUCharPipe