IVdsSubSystem::QueryMaxLunCreateSize メソッド (vdshwprv.h)

[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。

指定した LUN の種類とヒントを使用して作成できる最大 LUN のサイズを返します。

構文

HRESULT QueryMaxLunCreateSize(
  [in]  VDS_LUN_TYPE  type,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [in]  VDS_HINTS     *pHints,
  [out] ULONGLONG     *pullMaxLunSize
);

パラメーター

[in] type

VDS_LUN_TYPEによって列挙される LUN の種類。

[in] pDriveIdArray

LUN の作成で使用する各ドライブの VDS_OBJECT_ID を含む配列へのポインター。 プロバイダーは、指定された順序でドライブの使用を試みる必要があります。 lNumberOfDrives パラメーターが 0 の場合、このパラメーターは NULL にすることができます。この場合、プロバイダーはドライブを自動的に選択する必要があります。

[in] lNumberOfDrives

pDriveIdArray 内のエントリの数。 これは 0 に設定できます。

[in] pHints

LUN の作成に使用 されるVDS_HINTS 構造体へのポインター。 ヒントの優先度は、前に示したパラメーターよりも常に低くなります。 この引数は NULL 以外である必要があります。

[out] pullMaxLunSize

LUN の最大サイズ (バイト単位) を含むバッファーへのポインター。 この引数は NULL 以外である必要があります。

戻り値

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

リターン コード/値 Description
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
別の操作が進行中です。この操作は、前の操作または操作が完了するまで続行できません。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
VDS_OBJECT_ID定数を受け取る任意のメソッドから返すことができます。 この戻り値は、識別子が既存のオブジェクトを参照していないことを示します。
VDS_E_NOT_SUPPORTED
0x80042400L
この操作またはパラメーターの組み合わせは、このプロバイダーではサポートされていません。

要件

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

こちらもご覧ください

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem

VDS_HINTS

VDS_LUN_TYPE