DrtOpen 関数 (drt.h)
DrtOpen 関数は、DRT_SETTINGS構造体で指定された条件に対してローカル分散ルーティング テーブル インスタンスを作成します。
構文
HRESULT DrtOpen(
[in] const DRT_SETTINGS *pSettings,
[in] HANDLE hEvent,
[in, optional] const PVOID pvContext,
[out] HDRT *phDrt
);
パラメーター
[in] pSettings
DRT インスタンスの作成に使用される設定を指定する DRT_SETTINGS 構造体へのポインター。
[in] hEvent
イベントが発生したときに通知されるイベントを処理します。
[in, optional] pvContext
イベントを介してアプリケーションに渡されるユーザー定義のコンテキスト データ。
[out] phDrt
DRT に関連付けられている新しいハンドル。 これは、DRT インスタンスに対する今後のすべての操作で使用されます。
戻り値
この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
phDrt は NULL です。 |
|
pSettings が NULL であるか、DRT_SETTINGS の dwSize メンバー値がDRT_SETTINGS オブジェクトのサイズと等しくありません。 |
|
cbKey は 256 ビットと等しくありません。 |
|
DRT_SETTINGS の ulMaxRoutingAddresses メンバーは、アドレスの最大数として 1 未満または 20 を超える値を指定します。 |
|
DRT_SETTINGSの hTransport メンバーが NULL であるか、トランスポートの一部のフィールドが NULL です |
|
DRT_SETTINGS の eSecurityMode メンバーは、無効なセキュリティ モードを指定します。 |
|
DRT_SETTINGS の pSecurityProvider メンバーが NULL です。 |
|
DRT_SETTINGS の pBootstrapProvider メンバーが NULL であるか、ブートストラップ プロバイダーの一部のフィールドが NULL です。 |
|
DRT_SETTINGSで指定された pwzDrtInstancePrefix のサイズが、プレフィックスの最大長 (128) を超えています。 |
|
システムは、この操作にメモリを割り当てることができません。 |
|
ブートストラップ プロバイダーは既にアタッチされています。 |
|
セキュリティ プロバイダーは既にアタッチされています。 |
|
トランスポート プロバイダーは既に接続されています。 |
|
認定チェーンが無効です。 |
|
DRT_SECURE_MEMBERSHIPおよびDRT_SECURE_CONFIDENTIALPAYLOADセキュリティでは、ローカル証明書を NULL にすることはできません。 |
|
トランスポートがシャットダウンしています。 |
|
トランスポートは既にバインドされています。 |
|
ブートストラップ プロバイダーは他のノードを見つけることができませんでしたが、2 回目の試行で成功する可能性があります。 |
|
トランスポート プロバイダー パラメーターが NULL または無効です。 |
|
トランスポートは接続されていません。 |
|
予期しない致命的なエラーが発生しました。 |
解説
DrtOpen が呼び出されると、DRT はブートストラッププロシージャを開始し、ブートストラップの成功に応じて、DRT_ACTIVEまたはDRT_ALONE状態に移動します。
要件
サポートされている最小のクライアント | Windows 7 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | drt.h |
Library | Drt.lib |
[DLL] | Drt.dll |