IVdsIscsiTarget::SetSharedSecret メソッド (vdshwprv.h)
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
ターゲットがイニシエーターを認証するときに CHAP 認証に使用されるターゲット CHAP 共有シークレットを設定します。
構文
HRESULT SetSharedSecret(
[in] VDS_ISCSI_SHARED_SECRET *pTargetSharedSecret,
[in] LPWSTR pwszInitiatorName
);
パラメーター
[in] pTargetSharedSecret
共有シークレットを含む VDS_ISCSI_SHARED_SECRET 構造体のアドレス。 pSharedSecret メンバーが NULL で、ulSharedSecretSize が 0 の場合、SetSharedSecret メソッドは既存のシークレットをクリアします。
[in] pwszInitiatorName
共有シークレットがイニシエーター固有の場合に関連付ける iSCSI 名を指定する文字列。 渡された値は CHAP 名として使用されます。 アドレスが NULL の 場合、変更はすべてのイニシエーターの既定のシークレットに適用されます。
戻り値
このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード/値 | Description |
---|---|
|
共有シークレットが正常に設定されました。 |
|
プロバイダーのキャッシュが破損しています。 これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内のソフトウェアまたは通信の問題を示します。 呼び出し元は 、IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用してキャッシュを復元できます。 |
|
ターゲット オブジェクトが存在しなくなりました。 |
|
この操作またはパラメーターの組み合わせは、このプロバイダーではサポートされていません。 |
|
ターゲットは、イニシエーター固有の共有シークレットをサポートしていません。 |
注釈
ハードウェア プロバイダーは、ターゲット共有シークレットを変更するようにサブシステム自体を構成する必要があります。 セキュリティに使用されるシークレットは、VDS によって永続化されず、ローカル コンピューター上のハードウェア プロバイダーによって保持される必要もありません。 ハードウェア プロバイダーは、セキュリティで保護された方法でサブシステムにシークレットを送信する必要があり、サブシステムはそれを保持する責任があります。
一部の iSCSI ターゲットでは、イニシエーターごとに異なる CHAP 共有シークレットの設定がサポートされる場合があります。 ターゲットがイニシエーター固有のシークレットをサポートしていない場合、 SetSharedSecret の呼び出しはVDS_E_INITIATOR_SPECIFIC_NOT_SUPPORTEDを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vdshwprv.h |
Library | Uuid.lib |
再頒布可能パッケージ | VDS 1.1 |
こちらもご覧ください
IVdsIscsiTarget::RememberInitiatorSharedSecret
IVdsIscsiTarget::SetSharedSecret