drt.h) (DRT_EVENT_DATA 结构

DRT_EVENT_DATA结构包含在应用程序收到传入 DrtOpen 的 hEvent 上的事件信号后,通过调用 DrtGetEventData 返回的事件数据。

包含一个未命名的联合,该联合包含一个结构,该结构定义叶集中的更改、本地注册密钥的状态或本地 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 的上下文数据的指针。 例如,如果数据传入 DrtOpenpvContext 参数,则通过此字段返回该数据。

leafsetKeyChange

当引发 事件以指示本地注册密钥的叶集发生更改时,将显示此结构;DRT_EVENT_DATA 结构的类型字段设置为DRT_EVENT_LEAFSET_KEY_CHANGED。

leafsetKeyChange.change

指定已发生的键更改的类型。

leafsetKeyChange.localKey

指定与已更改的叶集关联的本地键。

leafsetKeyChange.remoteKey

指定已更改的远程密钥。

registrationStateChange

当引发 事件以指示本地密钥注册发生更改时,将显示此结构;DRT_EVENT_DATA 结构的类型字段设置为DRT_EVENT_REGISTRATION_STATE_CHANGED。

registrationStateChange.state

指定发生的注册状态更改的类型。

registrationStateChange.localKey

指定与已更改的注册关联的本地密钥。

statusChange

当已引发事件以指示本地 DRT 实例中的状态更改时,将显示此结构;DRT_EVENT_DATA 结构的 type 字段设置为 DRT_EVENT_STATUS_CHANGED。

statusChange.status

包含本地 DRT 实例的当前 DRT_STATUS

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