Terminologia di pipe essenziale
Analogamente ad altri tipi di parametri alle chiamate di routine remote, le pipe possono essere [ in] o [ out] parametri. Poiché il server controlla il trasferimento dei dati tramite una pipe, le pipe con l'attributo [in] vengono dette per eseguire il pull dei dati nel server. Analogamente, le pipe di output eserne i dati dal server al client. Le procedure che eseguono il trasferimento dei dati sono denominate rispettivamente la routine pull e la procedura push.
Il compilatore MIDL genera le procedure push e pull per il server. Gestisce inoltre l'allocazione dei buffer di dati in memoria. Tuttavia, il client deve fornire le proprie procedure push e pull. Deve inoltre fornire una procedura per l'allocazione dei buffer di memoria usati dalla pipe. Queste vengono chiamate automaticamente al momento appropriato dallo stub del client. La procedura di allocazione viene spesso definita procedura di allocazione o funzione di allocazione.