Udostępnij za pośrednictwem


Atrybut event_receiver

Tworzy odbiornik zdarzeń (ujście).

Uwaga

Atrybuty zdarzeń w natywnym języku C++ są niezgodne z językiem Standard C++. Nie są one kompilowane podczas określania /permissive- trybu zgodności.

Składnia

[ event_receiver(type
   [, layout_dependent=false]) ]

Parametry

type
Wyliczenie jednej z następujących wartości:

  • native dla niezarządzanych kodu C/C++ (ustawienie domyślne dla klas natywnych).

  • com dla kodu COM. Ta wartość wymaga dołączenia następujących plików nagłówkowych:

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

layout_dependent
Określ layout_dependent tylko wtedy, gdytype= com. layout_dependent jest wartością logiczną:

  • true oznacza, że podpis delegatów w odbiorniku zdarzeń musi dokładnie odpowiadać tym, do których są podłączone w źródle zdarzeń. Nazwy programu obsługi odbiorcy zdarzeń muszą być zgodne z nazwami określonymi w odpowiednim interfejsie źródła zdarzeń. Użyj polecenia coclass , gdy layout_dependent ma wartość true. Nieco wydajniejsze jest określenie wartości true.

  • false (ustawienie domyślne) oznacza, że wywoływanie konwencji i klasy magazynu (virtual, statici innych) nie musi być zgodne z metodą zdarzenia i procedurami obsługi. Nazwy procedur obsługi również nie muszą być zgodne z nazwami metod interfejsu źródła zdarzeń.

Uwagi

Atrybut event_receiver języka C++ określa, że klasa lub struktura, do której jest ona stosowana, będzie odbiornikiem zdarzeń przy użyciu ujednoliconego modelu zdarzeń w języku Microsoft C++.

event_receiver jest używany z atrybutem event_source i słowami kluczowymi __hook i __unhook . Użyj event_source polecenia , aby utworzyć źródła zdarzeń. Użyj __hook metod odbiornika zdarzeń, aby skojarzyć metody odbiorcy zdarzeń ("hook") z zdarzeniami źródła zdarzeń. Użyj polecenia __unhook , aby usunąć ich skojarzenie.

layout_dependent jest określony tylko dla odbiorników zdarzeń COM (type=com). Wartość domyślna to layout_dependent false.

Uwaga

Klasa lub struktura szablonu nie może zawierać zdarzeń.

Wymagania

Kontekst atrybutu Wartość
Dotyczy class, struct
Powtarzalne Nie.
Wymagane atrybuty coclass kiedy layout_dependent=true
Nieprawidłowe atrybuty Brak

Aby uzyskać więcej informacji, zobacz Konteksty atrybutów.

Zobacz też

Atrybuty kompilatora
event_source
__event
__hook
__unhook
Atrybuty klasy