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 プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
解説
ハードウェア プロバイダーが記憶域プールを管理していない場合、このメソッドは空の列挙オブジェクトを返します。
pPoolAttributes パラメーターに NULL 以外の値が指定されている場合、このメソッドは、VDS_POOL_ATTRIBUTES構造体で指定されているすべての属性を満たす記憶域プールのみを返します。 最小属性と最大属性が指定されている場合、返されるストレージ・プールは、これらの属性と正確に一致している必要があります。 ヒント属性は、指定されたすべての属性を満たす記憶域プールをさらにフィルター処理するためのヒントとして使用されます。 指定した属性が記憶域プールのいずれにも適用されない場合、このメソッドは空の列挙オブジェクトを持つS_OKを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vds.h |
Library | Uuid.lib |