Pipe (RPC)

Il costruttore del tipo di pipe è un meccanismo estremamente efficiente per il passaggio di grandi quantità di dati o qualsiasi quantità di dati non tutti disponibili in memoria contemporaneamente. Usando una pipe, il runtime RPC gestisce il trasferimento effettivo dei dati, eliminando il sovraccarico associato a chiamate di routine remote ripetute.

Dopo che un client richiama una routine remota con un parametro pipe, il client e il server immettono cicli per trasferire i dati. I dati possono essere prodotti nel client o nel server. In entrambi i casi, la quantità di dati (in byte) non deve essere nota in anticipo. I dati possono essere prodotti o utilizzati in modo incrementale. Durante il ciclo di trasferimento dei dati, il server chiama routine stub che caricano o scaricano un buffer di dati. Il client chiama le procedure definite dal programmatore per allocare buffer, caricare i dati in e scaricare i dati dai buffer.

In questa sezione viene fornita una panoramica dell'uso delle pipe per le chiamate di procedura remota. Presenta la panoramica negli argomenti seguenti:

Per altre informazioni sulla sintassi della pipe e sulle restrizioni, vedere pipe nella guida di riferimento al linguaggio MIDL. Il programma di esempio PIPES nella directory sdk (Platform Software Development Kit) illustra come usare le pipe [in,out] per trasferire i dati tra un client e un server.