次の方法で共有


IVdsSubSystem2::GetDrive2 メソッド (vdshwprv.h)

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

指定したドライブを返します。 このメソッドは IVdsSubSystem::GetDrive メソッドと同じですが、エンクロージャ番号がパラメーターとして含まれていることを除きます。

構文

HRESULT GetDrive2(
  [in]  SHORT     sBusNumber,
  [in]  SHORT     sSlotNumber,
  [in]  ULONG     ulEnclosureNumber,
  [out] IVdsDrive **ppDrive
);

パラメーター

[in] sBusNumber

ドライブが接続されているバスの番号。

[in] sSlotNumber

ドライブが占有するスロットの数。

[in] ulEnclosureNumber

ドライブを含むエンクロージャーの番号。 このパラメーターは、VDS_DRIVE_PROP2構造体の ulEnclosureNumber メンバーに対応します。

[out] ppDrive

IVdsDrive インターフェイス ポインターのアドレス。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

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

リターン コード/値 説明
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダー内に、配列に関する情報をキャッシュするソフトウェアまたは通信の問題があります。 キャッシュを復元するには、 IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用します。
VDS_E_OBJECT_DELETED
0x8004240BL
サブシステム オブジェクトが存在しなくなりました。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
サブシステムが失敗状態であり、要求された操作を実行できません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、前の操作または操作が完了するまで続行できません。

要件

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

関連項目

IVdsDrive2

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem2

IVdsSubSystem::GetDrive

IVdsSubSystem::QueryDrives