Client-Side Boru Uygulaması
İstemci uygulaması, veri aktarımı sırasında istemci saptamasının çağıracağı aşağıdaki yordamları uygulamalıdır:
- Çekme yordamı (giriş kanalı için)
- Gönderme yordamı (çıkış kanalı için)
- Aktarım verileri için arabellek ayırmaya yönelik bir alloc yordamı
Bu yordamların tümü MIDL tarafından oluşturulan üst bilgi dosyası tarafından belirtilen bağımsız değişkenleri kullanmalıdır. Ayrıca, verilerin nerede bulunacağı veya yerleştirileceği belirlemek için istemci uygulamasının bir durum değişkeni olmalıdır.
Alloc yordamı da gerektiği kadar basit veya karmaşık olabilir. Örneğin, saplama işlevi her çağırışında aynı arabelleğe bir işaretçi döndürebilir veya her seferinde farklı miktarda bellek ayırabilir. Verileriniz zaten uygun biçimdeyse (örneğin, bir kanal öğeleri dizisi) verileri içeren bir arabellek ayırmak için çekme yordamıyla alloc yordamını koordine edebilirsiniz. Bu durumda, çekme yordamınız boş bir yordam olabilir.
Arabellek ayırma bayt cinsinden olmalıdır. Öte yandan, gönderme ve çekme yordamları, bayt cinsinden boyutu nasıl tanımlandığına bağlı olan öğeleri işler.
Bu bölümde, aşağıdaki bölümlerde giriş ve çıkış borularının istemci uygulaması ele alınmaktadır: