Aracılığıyla paylaş


QueryInterface

Mekanizmaları ile bir nesne express statik olarak (Bu örneği oluşturulmadan önce) sağladığı işlevselliği olsa da, temel com mekanizması kullanmaktır IUnknown adlı bir yöntem QueryInterface.

Her arabirim türetilir IUnknown, böylece her arabirim uygulaması olan QueryInterface.Uygulama ne olursa olsun, bu yöntemi çağıran bir işaretçi istediği olduğu arabirimin IID'si kullanarak nesneyi sorgular.Bu arabirim nesnesi destekliyorsa, QueryInterface de çağrılırken arabirimi için bir işaretçi alır AddRef.Aksi takdirde, döner E_NOINTERFACE hata kodu.

Uyacak gerekir Not Referans sayımı tüm zamanlarda kuralları.Çağırırsanız, yayın başvuru sayısı sıfır düşürmesi bir arabirim işaretçisi üzerinde, bu işaretçiyi yeniden kullanmamalısınız.Bazen bir zayıf bir nesneye başvuru edinmeniz gerekebilir (diğer bir deyişle, bir işaretçi arabirimlerinden birinin başvuru sayısını artırmadan elde etmek isteyebilirsiniz), ancak çağırarak bunu kabul edilebilir değil QueryInterface arkasından yayın.Böyle bir yöntemle elde edilen işaretçi geçersiz ve kullanılmamalıdır.Bu çok fazla meşgul ne zaman belirgin olur _ATL_DEBUG_INTERFACES yararlı bir yol bulma başvuru hataların sayımı, bu makro tanımlarken, bu nedenle, tanımlanır.

Ayrıca bkz.

Başvuru

COM'ye Giriş

QueryInterface: Navigating in an Object