drt.h) (DRT_BOOTSTRAP_PROVIDER 结构
DRT_BOOTSTRAP_PROVIDER 结构定义必须由启动提供程序实现的 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_PROVIDER的 pvContext 值。
Detach
使用一组 DRT 递减 Bootstrap 提供程序的引用计数。
pvContext
包含来自DRT_BOOTSTRAP_PROVIDER的 pvContext 值。
InitResolve
由 DRT 基础结构调用,以提供有关即将进行的名称解析的配置信息。
pvContext
包含来自DRT_BOOTSTRAP_PROVIDER的 pvContext 值。
fSplitDetect
指定解析操作是否用于网络拆分检测和恢复。
timeout
指定解析在超时之前应花费的最长时间。此值以毫秒为单位表示。
cMaxResults
指定要在解析操作期间返回的最大结果数。
ResolveContext
指向解析程序特定数据的指针。
fFatalError
如果启动提供程序遇到不可恢复的错误,则必须在函数完成时将此参数设置为 TRUE ,以便 DRT 转换为错误状态。 可供较高层应用程序进行调试的 HRESULT 将显示在与指示转换为故障状态的事件关联的 DRT_EVENT_DATA 结构的 hr 成员中。 如果将 fFatalError 标志设置为 TRUE,则此启动提供程序函数不应返回S_OK。
IssueResolve
由 DRT 基础结构调用,以发出解决方案来确定 DRT 云中已处于活动状态的节点的终结点。
pvContext
包含来自DRT_BOOTSTRAP_PROVIDER的 pvContext 值。
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_PROVIDER的 pvContext 值。
ResolveContext
从指定启动提供程序的 Resolve 函数收到的 BOOTSTRAP_RESOLVE_CONTEXT 。
Register
向引导机制注册终结点。 此过程使其他节点可以通过启动解析程序找到终结点。
pvContext
包含来自DRT_BOOTSTRAP_PROVIDER的 pvContext 值。
pAddressList
指向要注册到引导机制的地址列表的指针。
Unregister
此函数使用引导机制取消注册终结点。 因此,其他节点将无法通过启动解析程序找到本地节点。
pvContext
包含来自DRT_BOOTSTRAP_PROVIDER的 pvContext 值。
要求
最低受支持的客户端 | Windows 7 专业版 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | drt.h |