次の方法で共有


IVdsHwProviderStoragePools::QueryStoragePools メソッド (vds.h)

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

ハードウェア プロバイダーによって管理されている記憶域プールの一覧を含む IEnumVdsObject 列挙オブジェクトを返します。

構文

HRESULT QueryStoragePools(
  [in]  ULONG               ulFlags,
  [in]  ULONGLONG           ullRemainingFreeSpace,
  [in]  VDS_POOL_ATTRIBUTES *pPoolAttributes,
  [out] IEnumVdsObject      **ppEnum
);

パラメーター

[in] ulFlags

照会する記憶域プールの種類を指定する 1 つ以上の VDS_STORAGE_POOL_TYPE フラグのビットマスク。 フラグの 1 つは、VDS_SPT_CONCRETEまたはVDS_SPT_PRIMORDIALである必要があります。 このパラメーターの既定値は、ゼロです。 0 の値は、すべての記憶域プールに対してクエリを実行する必要があることを意味します。

[in] ullRemainingFreeSpace

各記憶域プールに含まれている必要がある空き領域の最小量 (バイト単位)。 このパラメーターの既定値は 0 です。 値 0 は、記憶域プールに任意の量の空き領域を含めることができることを意味します。

[in] pPoolAttributes

返される記憶域 プールに必要 な属性値を指定するVDS_POOL_ATTRIBUTES構造体へのポインター。 このパラメーターの既定値は NULL です値が NULL の場合、ストレージ プールには任意の属性値を指定できます。

[out] ppEnum

記憶域プールの列挙に使用できる IEnumVdsObject インターフェイス ポインターのアドレス。 詳細については、「 列挙オブジェクトの操作」を参照してください。 呼び出し元は、 IUnknown::Release メソッドを呼び出すことによって不要になった場合に、インターフェイスと各記憶域プール オブジェクトを解放する必要があります。 このパラメーターは必須であり、 NULL にすることはできません。

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に完了しました。

解説

ハードウェア プロバイダーが記憶域プールを管理していない場合、このメソッドは空の列挙オブジェクトを返します。

pPoolAttributes パラメーターに NULL 以外の値が指定されている場合、このメソッドは、VDS_POOL_ATTRIBUTES構造体で指定されているすべての属性を満たす記憶域プールのみを返します。 最小属性と最大属性が指定されている場合、返されるストレージ・プールは、これらの属性と正確に一致している必要があります。 ヒント属性は、指定されたすべての属性を満たす記憶域プールをさらにフィルター処理するためのヒントとして使用されます。 指定した属性が記憶域プールのいずれにも適用されない場合、このメソッドは空の列挙オブジェクトを持つS_OKを返します。

要件

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

こちらもご覧ください

IVdsHwProviderStoragePools