Aracılığıyla paylaş


Başvuru Sayımı

COM, nesnenin artık kullanılmadığını düşündüğü bir nesneyi bellekten otomatik olarak kaldırmaya çalışmaz. Bunun yerine, nesne programcısı kullanılmayan nesneyi kaldırmalıdır. Programcı, başvuru sayısına göre bir nesnenin kaldırılıp kaldırılamayacağını belirler.

COM, bir nesnedeki IUnknown arabirimlerin başvuru sayısını yönetmek için AddRef ve Release yöntemlerini kullanır. Bu yöntemleri çağırmak için genel kurallar şunlardır:

  • bir istemci bir arabirim işaretçisi aldığında, AddRef arabirimde çağrılmalıdır.

  • İstemci arabirim işaretçisini kullanmayı tamamladığında çağrısı Releaseyapmalıdır.

Basit bir uygulamada, her AddRef çağrı artar ve her Release çağrı nesnenin içindeki bir sayaç değişkenini atar. Sayı sıfıra döndüğünde, arabirimde artık kullanıcı yoktur ve bellekten kendisini kaldırmakta serbesttir.

Başvuru sayımı, nesneye yapılan her başvurunun (tek bir arabirime değil) sayılması için de uygulanabilir. Bu durumda, her AddRef ve Release nesne üzerinde merkezi bir uygulama için temsilciler çağırır ve Release başvuru sayısı sıfıra ulaştığında nesnenin tamamını serbest bırakın.

Not

CComObject-derived nesnesi işleci kullanılarak new oluşturulduğunda, başvuru sayısı 0'dır. Bu nedenle, -derived nesnesi başarıyla oluşturulduktan CComObjectsonra çağrısı AddRef yapılmalıdır.

Ayrıca bkz.

COM’a Giriş
Başvuru Sayma yoluyla Nesne YaşamLarını Yönetme