İşaretçi Takma Adlar

işaretçisi takma adı yalnızca etkin veya çalışır durumda bulunabilen bir nesneyi tanımlar. Bu, pasif veya etkin durumda var olabilecek nesneleri tanımlayan diğer ad sınıflarından farklıdır.

Örneğin, bir uygulamanın kalıcı gösterimi olmayan bir nesnesi olduğunu varsayalım. Normalde, uygulamanızın bir istemcisinin bu nesneye erişmesi gerekiyorsa, istemciye nesneye bir işaretçi geçirebilirsiniz. Ancak, istemcinizin bir ad beklediğini varsayalım. Nesne, bir dosyada depolanmadığından veya başka bir nesnede bulunmadığından bir öğe takma adıyla tanımlanamaz.

Bunun yerine, uygulamanız yalnızca dahili olarak bir işaretçi içeren bir ad olan bir işaretçi takma adı oluşturabilir ve bunu istemciye geçirebilir. İstemci bu takma adı diğer adlar gibi ele alabilir. Ancak, istemci işaretçi takma adı üzerinde IMoniker::BindToObject çağırdığında, bilinen kod çalışan nesne tablosunu (ROT) denetlemez veya depolamadan herhangi bir şey yüklemez. Bunun yerine, takma ad kodu yalnızca QueryInterface ad içinde depolanan işaretçiyi çağırır.

İşaretçi takma adları, yalnızca etkin veya çalışır durumda olan nesnelerin ad işlemlerine katılmasına ve takma ad istemcileri tarafından kullanılmasına izin verir. İşaretçi takma adlar ile diğer ad sınıfları arasındaki önemli farklardan biri, işaretçi takma adlarının kalıcı depolama alanına kaydedilememesidir. Bunu yaparsanız, IMoniker::Save yöntemini çağırmak bir hata döndürür. Bu, işaretçi takma adlarının yalnızca özel durumlarda yararlı olduğu anlamına gelir. bir işaretçi takma adı kullanmanız gerekiyorsa CreatePointerMoniker işlevini kullanabilirsiniz.

Anti-Moniker

Sınıf Takma Adlarını

Bileşik Adlar

Dosya Ad

Öğe Takma Adlarını