Dela via


Rör (RPC)

Rörtypkonstruktorn är en mycket effektiv mekanism för att skicka stora mängder data, eller en mängd data som inte alla är tillgängliga i minnet samtidigt. Med hjälp av ett rör hanterar RPC-körningstiden den faktiska dataöverföringen, vilket eliminerar de omkostnader som är associerade med upprepade fjärrproceduranrop.

När en klient anropar en fjärrprocedur som har en pipe-parameter anger klienten och servern loopar för att överföra data. Data kan skapas på klienten eller servern. Hur som helst behöver mängden data (i byte) inte vara känd i förväg. Data kan produceras eller förbrukas stegvis. I dataöverföringsloopen anropar servern stub-rutiner som läser in eller tar bort en databuffert. Klienten anropar programmerardefinierade procedurer för att allokera buffertar, läsa in data till och ta bort data från buffertarna.

Det här avsnittet innehåller en översikt över hur du använder rör för fjärrproceduranrop. Den visar översikten i följande avsnitt:

Mer information om pipe-syntax och begränsningar finns i pipe i MIDL Language Reference. Pipes-exempelprogrammet i SDK-exemplen (Platform Software Development Kit)\rpc-katalogen visar hur du använder [in,out]-rör för att överföra data mellan en klient och en server.