drt.h) (DRT_BOOTSTRAP_PROVIDER 结构

DRT_BOOTSTRAP_PROVIDER 结构定义必须由启动提供程序实现的 DRT 接口。

注意 DRT 基础结构不会同时调用启动提供程序的方法。
 

语法

typedef struct drt_bootstrap_provider_tag {
  PVOID    pvContext;
  HRESULT( )(const PVOID pvContext) *Attach;
  VOID( )(const PVOID pvContext)    *Detach;
  HRESULT((const PVOID pvContext,BOOL fSplitDetect,ULONG timeout,ULONG cMaxResults,DRT_BOOTSTRAP_RESOLVE_CONTEXT *ResolveContext,BOOL *fFatalError) * )InitResolve;
  HRESULT()(const PVOID pvContext, const PVOID pvCallbackContext,DRT_BOOTSTRAP_RESOLVE_CALLBACK callback,DRT_BOOTSTRAP_RESOLVE_CONTEXT ResolveContext,BOOL *fFatalError) * IssueResolve;
  VOID( )(const PVOID pvContext,DRT_BOOTSTRAP_RESOLVE_CONTEXT ResolveContext)    *EndResolve;
  HRESULT()(const PVOID pvContext, const SOCKET_ADDRESS_LIST *pAddressList) * Register;
  VOID( )(const PVOID pvContext)    *Unregister;
} DRT_BOOTSTRAP_PROVIDER, *PDRT_BOOTSTRAP_PROVIDER;

成员

pvContext

指向启动解析程序定义的上下文数据的指针。 创建启动解析程序时,开发人员需要使用所需的信息填充冲突解决程序;通常,这以“this”指针的形式出现。 此上下文将传递给 DRT_BOOTSTRAP_PROVIDER定义的函数中的所有上下文参数。

Attach

使用一组 DRT 递增 Bootstrap 提供程序的引用计数。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

Detach

使用一组 DRT 递减 Bootstrap 提供程序的引用计数。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

InitResolve

由 DRT 基础结构调用,以提供有关即将进行的名称解析的配置信息。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

fSplitDetect

指定解析操作是否用于网络拆分检测和恢复。

timeout

指定解析在超时之前应花费的最长时间。此值以毫秒为单位表示。

cMaxResults

指定要在解析操作期间返回的最大结果数。

ResolveContext

指向解析程序特定数据的指针。

fFatalError

如果启动提供程序遇到不可恢复的错误,则必须在函数完成时将此参数设置为 TRUE ,以便 DRT 转换为错误状态。 可供较高层应用程序进行调试的 HRESULT 将显示在与指示转换为故障状态的事件关联的 DRT_EVENT_DATA 结构的 hr 成员中。 如果将 fFatalError 标志设置为 TRUE,则此启动提供程序函数不应返回S_OK。

IssueResolve

由 DRT 基础结构调用,以发出解决方案来确定 DRT 云中已处于活动状态的节点的终结点。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

pvCallbackContext

指向传递回下一个参数定义的回调的上下文数据的指针。

回调 (callback)

为每个结果和DRT_E_NO_MORE回调的BOOTSTRAP_RESOLVE_CALLBACK。

ResolveContext

指向解析程序特定数据的指针。

fFatalError

如果启动提供程序遇到不可恢复的错误,则必须在函数完成时将此参数设置为 TRUE ,以便 DRT 转换为错误状态。 可供较高层应用程序进行调试的 HRESULT 将显示在与指示转换为故障状态的事件关联的 DRT_EVENT_DATA 结构的 hr 成员中。 如果将 fFatalError 标志设置为 TRUE,则此启动提供程序函数不应返回S_OK。

EndResolve

结束终结点的解析。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

ResolveContext

从指定启动提供程序的 Resolve 函数收到的 BOOTSTRAP_RESOLVE_CONTEXT

Register

向引导机制注册终结点。 此过程使其他节点可以通过启动解析程序找到终结点。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

pAddressList

指向要注册到引导机制的地址列表的指针。

Unregister

此函数使用引导机制取消注册终结点。 因此,其他节点将无法通过启动解析程序找到本地节点。

pvContext

包含来自DRT_BOOTSTRAP_PROVIDERpvContext 值。

要求

   
最低受支持的客户端 Windows 7 专业版 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 drt.h