DRT_BOOTSTRAP_PROVIDER 構造体 (drt.h)
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 を使用して、ブートストラップ プロバイダーの参照の数をインクリメントします。
pvContext
DRT_BOOTSTRAP_PROVIDERからの pvContext 値を格納します。
Detach
一連の DRT を使用して、ブートストラップ プロバイダーの参照の数をデクリメントします。
pvContext
DRT_BOOTSTRAP_PROVIDERからの pvContext 値を格納します。
InitResolve
今後の名前解決に関する構成情報を提供するために、DRT インフラストラクチャによって呼び出されます。
pvContext
DRT_BOOTSTRAP_PROVIDERからの pvContext 値を格納します。
fSplitDetect
ネットワーク分割の検出と回復に解決操作を使用するかどうかを指定します。
timeout
タイムアウトまでに解決が必要な最大時間を指定します。この値はミリ秒単位で表されます。
cMaxResults
解決操作中に返される結果の最大数を指定します。
ResolveContext
リゾルバー固有のデータへのポインター。
fFatalError
ブートストラップ プロバイダーで回復不可能なエラーが発生した場合、DRT がエラー状態に移行するには、関数の完了時にこのパラメーターを TRUE に設定する必要があります。 デバッグのために上位レイヤー アプリケーションで使用できる 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
ブートストラップ プロバイダーで回復不可能なエラーが発生した場合、DRT がエラー状態に移行するには、関数の完了時にこのパラメーターを TRUE に設定する必要があります。 デバッグのために上位レイヤー アプリケーションで使用できる 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 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | drt.h |