Aracılığıyla paylaş


Top-Level ve Eklenmiş İşaretçiler

microsoft RPC'de işaretçilerin ve ilişkili veri öğelerinin nasıl ayrıldığını anlamak için, üst düzey işaretçiler ile ekli işaretçileriayırt etmek gerekir. Üst düzey işaretçiler olmayan tüm işaretçiler kümesine başvurmak da yararlıdır.

Üst düzey işaretçiler, işlev prototiplerindeki parametrelerin adları olarak belirtilenlerdir. Üst düzey işaretçiler ve bunların başvuranları her zaman sunucuda ayrılır.

Katıştırılmış işaretçiler diziler, yapılar ve birleşimler gibi veri yapılarına eklenmiş işaretçilerdir. Katıştırılmış işaretçiler yalnızca bir arabelleğe çıkış yazdığında ve girişte null olduğunda, sunucu uygulaması değerlerini null olmayan olarak değiştirebilir. Bu durumda, istemci saplamaları bu veriler için yeni bellek ayırır.

Katıştırılmış işaretçi çağrıdan önce istemcide null değilse, saplamalar dönüşte istemcide bellek ayırmaz. Bunun yerine saplamalar, eklenmiş işaretçiyle ilişkili belleği, bu işaretçiyle ilişkili istemcideki mevcut belleğe yazmaya çalışır ve zaten orada bulunan verilerin üzerine yazar.

Not

Arabellekten okunan veya arabelleğe yazılan ve arabellek boyutunu belirtmeyen veriler için çıkış uzunluğu giriş uzunluğuna eşit veya daha küçük olmalıdır. Taşma algılandığında bir RPC özel durumu oluşur. Dize verileri için çıkış uzunluğu, giriş dizesinin uzunluğu denetlenerek belirlenir. Bu nedenle, çıkış dizeleri giriş dizelerinin uzunluğunu aşamaz. En iyi yöntem kılavuzu, arabelleğin boyutunu belirtmek için her zaman belirtilen boyut parametresini ekleyerek bunu önlemektir.

 

Katıştırılmış salt yazma işaretçileri, İşaretçi ve Yön Özniteliklerini Birleştirme bölümünde ele alınıyor.

terimi, hem eklenmiş işaretçiler hem de birden çok iç içe işaretçi düzeyi dahil olmak üzere işlev prototipinde parametre adları olarak belirtilmeyen tüm işaretçileri ifade eder.