次の方法で共有


IVdsServiceIscsi::SetInitiatorSharedSecret メソッド (vds.h)

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。

イニシエーターがターゲットを認証するときに相互 CHAP 認証に使用されるイニシエーター CHAP 共有シークレットを設定します。

構文

HRESULT SetInitiatorSharedSecret(
  [in] VDS_ISCSI_SHARED_SECRET *pInitiatorSharedSecret,
  [in] VDS_OBJECT_ID           targetId
);

パラメーター

[in] pInitiatorSharedSecret

共有シークレットを含む VDS_ISCSI_SHARED_SECRET 構造体のアドレス。 pSharedSecret メンバーが NULL、ulSharedSecretSize が 0 の場合、SetInitiatorSharedSecret メソッドは既存のシークレットをクリアします。 このパラメーターが NULL で、 targetId パラメーターが GUID_NULLされていない場合、 SetInitiatorSharedSecret はイニシエーターとターゲットの間の関連付けをクリアします。

[in] targetId

ターゲットの VDS_OBJECT_ID 。 共有シークレットがターゲット固有でない場合、このパラメーターは GUID_NULL に設定されます。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 説明
S_OK
共有シークレットが正常に設定されました。
VDS_E_INITIALIZED_FAILED
0x80042401L
VDS の初期化に失敗しました。 サービスの初期化が完了する前にアプリケーションがこのメソッドを呼び出すと、初期化が完了するまでメソッドはブロックされます。 初期化が失敗した場合、このエラーが返されます。
VDS_E_TARGET_SPECIFIC_NOT_SUPPORTED
0x80042706L
イニシエーター サービスでは、ターゲット固有の共有シークレットの設定はサポートされていません。

解説

イニシエーターは、ターゲットごとに異なる CHAP 共有シークレットの設定をサポートできます。

イニシエーターがターゲット固有のシークレットをサポートしているかどうかをプログラムで判断する方法はありません。 SetInitiatorSharedSecret の呼び出しがVDS_E_TARGET_SPECIFIC_NOT_SUPPORTEDを返す場合は、もう一度 メソッドを呼び出し、targetId パラメーターを GUID_NULL に設定します。

Microsoft iSCSI ソフトウェア イニシエーターでは、ターゲット固有のシークレットの設定はサポートされていません。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vds.h
Library Uuid.lib
再頒布可能パッケージ VDS 1.1

関連項目

IVdsIscsiTarget::RememberInitiatorSharedSecret

IVdsIscsiTarget::SetSharedSecret

IVdsServiceIscsi

IVdsServiceIscsi::RememberTargetSharedSecret

VDS_ISCSI_SHARED_SECRET