Ağ İzleyicisi BLOB'ları
Ağ İzleyicisi ikili büyük nesnesi (BLOB), ağ arabirim kartlarının (NIC) yapılandırma ve konum bilgilerini içeren genel bir veri yapısıdır. NIC'leri temsil etmek ve bir NIC listesindeki girdileri filtrelemek için BLOB'ları kullanın. BLOB'lar, barındırdıkları diğer verileri etkilemeden uygulamaya özgü veriler de içerebilir. BLOB uygulaması, BLOB API'leri ile BLOB'lara erişmesi gereken tüm düzeyler için opaktır.
BLOB Yapısı
BLOB, dizeleri tanımlamak için kullanılan hiyerarşik bir ağaç olarak kabul edilebilir. Bu ağaç üç katmana sahiptir: Sahip, Kategori ve Etiket. Sahip, genel olarak bir girdiyi kimin okuduğunu belirten bir dizedir. Kategori aynı zamanda sahibi altında etiketlerin genel işlevsel bir gruplandırma belirten bir dizedir. Etiket, girdinin gerçek adıdır.
BLOB'ların yapısal özellikleri şunlardır:
- Bir işlem içindeki BLOB yardımcıları, her BLOB'da yerleşik bir mutex ile birbirlerinden korunur.
- Yardımcıların hem mevcut hem de gelecekteki BLOB formlarını işleyebilmesi için her BLOB'un bir iç sürüm numarası vardır. Bir uzak yordam çağrısı aracılığıyla başka bir bilgisayara BLOB gönderirseniz sürüm çakışmaları oluşabilir.
- BLOB'un kendisi bir boşluğun işaretçisidir. uygulamaların içeriği değiştirmekten kaçınmak için const değiştiricisi olan BLOB'ları ayırması gerektiğini unutmayın.
- Her bir belirleyici ve değerleri dizedir. GetString işlevleri tarafından döndürülen dizelerin aslında BLOB'un işaretçileri olduğunu ve değiştirilmemesi gerektiğini unutmayın. Bu nedenle, uygulamaların bunları yanlışlıkla değiştirmesini sağlamak için bu dizelerin const char**pX* olarak belirtilmesi gerekir.
Genel olarak, const belirleyicisi olan tüm parametreler, yardımcı işlevlerin bunları değiştirmesini yasaklamamak yerine çağıranın değerleri değiştirmekten kaçınmasını teşvik eder. Aslında yardımcı işlevler genellikle bu değerleri değiştirir.