Client-Side cső implementálása
Az ügyfélalkalmazásnak a következő eljárásokat kell implementálnia, amelyeket az ügyfélcsomó az adatátvitel során hív meg:
- Lekéréses eljárás (bemeneti cső esetén)
- Leküldéses eljárás (kimeneti cső esetén)
- Az átviteli adatok pufferének lefoglalására szolgáló kiosztási eljárás
Ezeknek az eljárásoknak a MIDL által létrehozott fejlécfájl által megadott argumentumokat kell használniuk. Emellett az ügyfélalkalmazásnak rendelkeznie kell egy állapotváltozóval, amely azonosítja az adatok helyét vagy helyét.
A kiosztási eljárás is lehet olyan egyszerű vagy olyan összetett, amennyire szükség van. Visszaadhat például egy mutatót ugyanarra a pufferre minden alkalommal, amikor a csonk meghívja a függvényt, vagy minden alkalommal más mennyiségű memóriát foglal le. Ha az adatok már megfelelő formában találhatók (például csőelemek tömbje), akkor a lekéréses eljárással koordinálhatja az allokálási eljárást, hogy lefoglaljon egy olyan puffert, amely már tartalmazza az adatokat. Ebben az esetben a lekéréses eljárás üres rutin lehet.
A pufferfoglalásnak bájtban kell lennie. A leküldéses és lekéréses eljárások viszont manipulálják az elemeket, amelyek mérete bájtban attól függ, hogyan lettek definiálva.
Ez a szakasz a bemeneti és kimeneti csövek ügyfél-implementációját ismerteti a következő szakaszokban: