Поделиться через


структура DRT_EVENT_DATA (drt.h)

Структура DRT_EVENT_DATA содержит данные события, возвращаемые вызовом DrtGetEventData после того, как приложение получит сигнал события на hEvent, переданном в DrtOpen.

Содержит неименованное объединение, содержащее структуру, которая определяет изменение в конечном наборе, состояние локально зарегистрированного ключа или состояние локального экземпляра DRT.

Синтаксис

typedef struct drt_event_data_tag {
  DRT_EVENT_TYPE type;
  HRESULT        hr;
  PVOID          pvContext;
  union {
    struct {
      DRT_LEAFSET_KEY_CHANGE_TYPE change;
      DRT_DATA                    localKey;
      DRT_DATA                    remoteKey;
    } leafsetKeyChange;
    struct {
      DRT_REGISTRATION_STATE state;
      DRT_DATA               localKey;
    } registrationStateChange;
    struct {
      DRT_STATUS status;
      struct {
        ULONG             cntAddress;
        PSOCKADDR_STORAGE pAddresses;
      } bootstrapAddresses;
    } statusChange;
  };
} DRT_EVENT_DATA, *PDRT_EVENT_DATA;

Члены

type

Перечисление DRT_EVENT_TYPE , указывающее тип события.

hr

HRESULT операции, для которой было показано событие, указывающее, является ли результат последним результатом в поиске.

pvContext

Указатель на данные контекста, переданные в API, создающий событие. Например, если данные передаются в параметр pvContextdrtOpen, эти данные возвращаются через это поле.

leafsetKeyChange

Эта структура появляется, когда событие было создано для сигнала об изменении в конечном наборе локально зарегистрированного ключа; поле type структуры DRT_EVENT_DATA имеет значение DRT_EVENT_LEAFSET_KEY_CHANGED.

leafsetKeyChange.change

Указывает тип изменения ключа, которое произошло.

leafsetKeyChange.localKey

Указывает локальный ключ, связанный с измененным конечным набором.

leafsetKeyChange.remoteKey

Указывает удаленный ключ, который изменился.

registrationStateChange

Эта структура появляется, когда событие было вызвано для того, чтобы сигнализировать об изменении в локальной регистрации ключа; для поля type структуры DRT_EVENT_DATA задано значение DRT_EVENT_REGISTRATION_STATE_CHANGED.

registrationStateChange.state

Указывает тип изменения состояния регистрации, которое произошло.

registrationStateChange.localKey

Указывает локальный ключ, связанный с измененной регистрацией.

statusChange

Эта структура появляется, когда событие было вызвано для сигнала об изменении состояния в локальном экземпляре DRT; Для поля type структуры DRT_EVENT_DATA задано значение DRT_EVENT_STATUS_CHANGED.

statusChange.status

Содержит текущий DRT_STATUS локального экземпляра DRT.

statusChange.bootstrapAddresses

Эта структура содержит адреса, возвращаемые поставщиком начальной загрузки, когда DRT пытается присоединиться к сетке. Эта структура завершается только при переходе DRT в состояние DRT_ALONE. Содержимое этой структуры можно использовать для диагностики проблем с подключением между локальным экземпляром DRT и другими узлами, уже присутствующими в сетке.

statusChange.bootstrapAddresses.cntAddress

Содержит количество адресов в pAddresses.

statusChange.bootstrapAddresses.pAddresses

Содержит массив адресов, возвращаемых поставщиком начальной загрузки.

Требования

Требование Значение
Минимальная версия клиента Windows 7 Профессиональная [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть drt.h

См. также раздел

DRT_EVENT_TYPE

DRT_STATUS

DrtGetEventData

DrtOpen