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を返します。 その他の可能な値は次のとおりです。

リターン コード 説明
E_INVALIDARG
phDrtNULL です
DRT_E_INVALID_SETTINGS
pSettingsNULL であるか、DRT_SETTINGSdwSize メンバー値がDRT_SETTINGS オブジェクトのサイズと等しくありません。
DRT_E_INVALID_KEY_SIZE
cbKey は 256 ビットと等しくありません。
DRT_E_INVALID_MAX_ADDRESSES
DRT_SETTINGSulMaxRoutingAddresses メンバーは、アドレスの最大数として 1 未満または 20 を超える値を指定します。
DRT_E_INVALID_TRANSPORT_PROVIDER
DRT_SETTINGShTransport メンバーが NULL であるか、トランスポートの一部のフィールドが NULL です
DRT_E_INVALID_SECURITY_MODE
DRT_SETTINGSeSecurityMode メンバーは、無効なセキュリティ モードを指定します。
DRT_E_INVALID_SECURITY_PROVIDER
DRT_SETTINGSpSecurityProvider メンバーが NULL です
DRT_E_INVALID_BOOTSTRAP_PROVIDER
DRT_SETTINGSpBootstrapProvider メンバーが NULL であるか、ブートストラップ プロバイダーの一部のフィールドが NULL です
DRT_E_INVALID_INSTANCE_PREFIX
DRT_SETTINGSで指定された pwzDrtInstancePrefix のサイズが、プレフィックスの最大長 (128) を超えています。
E_OUTOFMEMORY
システムは、この操作にメモリを割り当てることができません。
DRT_E_BOOTSTRAPPROVIDER_IN_USE
ブートストラップ プロバイダーは既にアタッチされています。
DRT_E_SECURITYPROVIDER_IN_USE
セキュリティ プロバイダーは既にアタッチされています。
DRT_TRANSPORTPROVIDER_IN_USE
トランスポート プロバイダーは既に接続されています。
DRT_E_INVALID_CERT_CHAIN
認定チェーンが無効です。
DRT_E_CAPABILITY_MISMATCH
DRT_SECURE_MEMBERSHIPおよびDRT_SECURE_CONFIDENTIALPAYLOADセキュリティでは、ローカル証明書を NULL にすることはできません。
DRT_E_TRANSPORT_SHUTTING_DOWN
トランスポートがシャットダウンしています。
DRT_E_TRANSPORT_ALREADY_BOUND
トランスポートは既にバインドされています。
DRT_S_RETRY
ブートストラップ プロバイダーは他のノードを見つけることができませんでしたが、2 回目の試行で成功する可能性があります。
DRT_E_TRANSPORT_INVALID_ARGUMENT
トランスポート プロバイダー パラメーターが NULL または無効です。
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
トランスポートは接続されていません。
E_FAIL
予期しない致命的なエラーが発生しました。

解説

DrtOpen が呼び出されると、DRT はブートストラッププロシージャを開始し、ブートストラップの成功に応じて、DRT_ACTIVEまたはDRT_ALONE状態に移動します。

要件

   
サポートされている最小のクライアント Windows 7 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー drt.h
Library Drt.lib
[DLL] Drt.dll

関連項目

DRT_SETTINGS

DrtClose