Aracılığıyla paylaş


__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.

Ayrıca bkz.

Başvuru

C++ anahtar sözcükler

OLAY_KAYNAĞI

event_receiver

__Event

__hook

__raise