__unhook
Bir olay işleyicisi yönteminden dissociates.
long __unhook(
&SourceClass::EventMethod,
source,
&ReceiverClass::HandlerMethod
[, receiver = this]
);
long __unhook(
interface,
source
);
long __unhook(
source
);
Parametreler
**&**SourceClass::oluşur
Olay işleyicisi yöntemi unhook olay yöntemi için bir işaretçi:Yerel C++ olaylar: SourceClass olay kaynağı sınıftır ve oluşur olayıdır.
com olayları: SourceClass olay kaynağı arabirimidir ve oluşur yöntemlerinden biridir.
Yönetilen olaylar: SourceClass olay kaynağı sınıftır ve oluşur olayıdır.
interface
Gelen unhooked arabirim adı receiver, yalnızca, com Olay alıcıları için layout_dependent parametresi event_receiver özniteliği doğru.source
Olay kaynağı örneği için bir işaretçi.Koduna bağlı type içinde belirtilen event_receiver, kaynak aşağıdakilerden biri olabilir:Yerel olay kaynak nesne işaretçisi.
Bir IUnknown-işaretçi (com kaynak) dayalı.
Yönetilen nesne işaretçisi (için yönetilen olayları).
**&**ReceiverClass::HandlerMethod
Olay işleyicisi yöntemi, bir olay unhooked olması için bir işaretçi.İşleyicisi, bir sınıf veya aynı başvuru yöntemi olarak belirtilir; Sınıf adı belirtmezseniz, __unhook sınıfı içinde buna denir olarak varsayar.Yerel C++ olaylar: ReceiverClass olay alıcı sınıftır ve HandlerMethod denetleyicisidir.
com olayları: ReceiverClass olay alıcı arabirim ve HandlerMethod kendi işleyicileri biridir.
Yönetilen olaylar: ReceiverClass olay alıcı sınıftır ve HandlerMethod denetleyicisidir.
receiver(isteğe bağlı)
Olay alıcı sınıfının bir örneği için bir işaretçi.Bir alıcı belirtmezseniz, varsayılan alıcı sınıf veya yapı, iş __unhook olarak adlandırılır.
Kullanım
Ana olay alıcı sınıfın dışından da dahil olmak üzere herhangi bir işlev kapsamı kullanımda olabilir.
Notlar
İçsel işlevini kullanın __unhook ilişkisini ya da "adlı bir olay yöntemi işleyicisi yönteminden unhook" bir olay alıcı olarak.
Üç tür vardır __unhook.Çoğu durumda, ilk (dört-bağımsız) biçimini kullanabilirsiniz.İkinci (iki bağımsız) şeklinde kullanabilirsiniz __unhook com olay alıcı; yalnızca için Bu, tüm olay arabirimini unhooks.Belirtilen kaynaktan gelen tüm Temsilciler unhook için üçüncü (one-bağımsız) formu kullanabilirsiniz.
Dönüş değeri sıfır olmayan bir hata oluştuğunu gösterir (yönetilen olaylar durum özel durum).
Çağırırsanız, __unhook bir olay ve zaten yanıtlayabildiği değil olay işleyicisi üzerinde hiçbir etkisi olmaz.
Olay var ve parametresi ile belirtilen işleyiciye tür denetlemesi yapar, derleme zamanında derleyici doğrular.
com olayları, __hook ve __unhook olay alıcı dışında çağrılabilir.
Kullanmaya alternatif __unhook -= işlecini kullanmaktır.
Yeni sözdizimi yönetilen olayları kodlama hakkında daha fazla bilgi için bkz: Olay (Visual C++).
[!NOT]
Olaylar, bir şablonu esas alan bir sınıf veya yapı birimi içeremez.
Örnek
Bkz: Olay işleme yerel C++ ' ve Olay işleme com örnekler için.