MSFT_StorageSubSystem クラスの CreateStoragePool メソッド
共通のプリモディアル プールに含まれる使用可能な物理ディスクから記憶域プールを作成します。
MSFT_PhysicalDisk オブジェクトの CanPool プロパティが TRUE場合、物理ディスクは記憶域プールの作成に使用できます。
記憶域プールの作成は、記憶域サブシステムの MSFT_StorageSubSystem オブジェクトの SupportsStoragePoolCreation プロパティが TRUE の場合にのみ使用できます。
構文
UInt32 CreateStoragePool(
[in] String FriendlyName,
[in] UInt16 Usage,
[in] String OtherUsageDescription,
[in] String PhysicalDisks[],
[in] String ResiliencySettingNameDefault,
[in] UInt16 ProvisioningTypeDefault,
[in] UInt64 LogicalSectorSizeDefault,
[in] Boolean EnclosureAwareDefault,
[in] UInt64 WriteCacheSizeDefault,
[in] Boolean AutoWriteCacheSize,
[in] Boolean RunAsJob,
[out] String CreatedStoragePool,
[out] MSFT_StorageJob REF CreatedStorageJob,
[out] String ExtendedStatus
);
パラメーター
FriendlyName [in]
新しい記憶域プールのフレンドリー 名を指定します。
フレンドリ名はわかりやすいものであることが必要ですが、一意である必要はありません。 一部の記憶域サブシステムでは、プールの作成時にフレンドリー名を設定できません。
サブシステムでこれをサポートしていない場合でも、記憶域プールの作成は成功します。 ただし、プールには別の名前が割り当てられている可能性があります。
このパラメーターは必須であり、null にすることはできません。
Usage [in]
記憶域プールの使用目的を指定します。
定義済みの説明またはカスタムの説明を指定できます。 定義済みの説明を指定するには、Other 以外の値を使用します。
カスタムの説明を指定するには、Other を使用し、NULL 以外の値を OtherUsageDescription パラメーターに指定します。
Other (1)
Unrestricted (2)
Reserved for ComputerSystem (the block server) (3)
Reserved as a Delta Replica Container (4)
Reserved for Migration Services (5)
Reserved for Local Replication Services (6)
Reserved for Remote Replication Services (7)
Reserved for Sparing (8)
OtherUsageDescription [in]
ユーザーが新しい MSFT_StoragePool オブジェクトのカスタム使用法の種類を設定できるようにします。 このパラメーターは、Usage パラメーターが Other に設定された場合にのみ指定できます。
PhysicalDisks [in]
文字列の配列。各文字列には、MSFT_PhysicalDisk クラスの埋め込みインスタンスが含まれています。
このパラメーターは、新しく作成された記憶域プールのバッキング データ ストレージとして使用される MSFT_PhysicalDisk オブジェクトの配列を指定するために使用されます。 物理ディスクは、このプールを作成するサブシステム内の初期プールから取得する必要があります。 すべての物理ディスクは、同じ初期プールから取得する必要があります。
このパラメーターは必須であり、null にすることはできません。
ResiliencySettingNameDefault [in]
記憶域プールに新しい仮想ディスクを作成するときに既定で使用する必要がある回復性設定。 サブシステムの SupportsMultipleResiliencySettingsPerStoragePool プロパティが FALSE に設定されている場合、このパラメーターは、この記憶域プールによって回復性設定を継承する必要がある記憶域管理プロバイダーへのヒントとしても機能します。 値が指定されていない場合、記憶域管理プロバイダーは、最も適切な回復性設定を選択する役割を担います。
ProvisioningTypeDefault [in]
この記憶域プールに新しい仮想ディスクを作成するときに既定で使用するプロビジョニングの種類。 このパラメーターが 0 の場合、既定のプロビジョニングの種類は、初期プールから継承されます。
仮想 (1)
固定 (2)
LogicalSectorSizeDefault [in]
既定の論理セクター サイズ (バイト単位)。 これは、記憶域プールに 512 バイトのエミュレートされた物理ディスクと、4K バイトのネイティブまたは 512 バイトのネイティブ物理ディスクが混在している場合に便利です。
EnclosureAwareDefault [in]
エンクロージャ対応記憶域プールに作成された仮想ディスクの既定の割り当てポリシー。 たとえば、エンクロージャ対応サブシステムでは、仮想ディスクの各データ コピーが複数の物理エンクロージャ間で分散され、各エンクロージャに仮想ディスクの完全なデータ コピーが含まれる場合があります。
WriteCacheSizeDefault [in]
仮想ディスク作成用の書き込みキャッシュの新しい既定のサイズ。
AutoWriteCacheSize [in]
TRUE の場合、プロバイダーは自動書き込みキャッシュ サイズを取得する必要があります。
RunAsJob [in]
TRUE の場合、このメソッドは、要求のサービスに時間がかかっているときに CreatedStorageJob パラメーターを使用します。 操作を追跡するためにストレージ ジョブが作成されている場合、このメソッドは メソッド パラメーター確認済 - ジョブが開始されました を返します。
Note
RunAsJob が TRUE の場合でも、十分な時間内に終了していれば、このメソッドは結果を返すことができます。
FALSE または NULL の場合、このメソッドは、クライアントの呼び出し方法によって決定される既定の WMI の非同期動作を実行します。 つまり、特に要求されない限りは同期的な動作を行います。
CreatedStoragePool [out]
記憶域プールが正常に作成された場合、このパラメーターは埋め込み MSFT_StoragePool オブジェクトを含む文字列を受け取ります。
CreatedStorageJob [out]
RunAsJob が TRUE に設定されていて、このメソッドの実行に時間がかかる場合、このパラメーターは、実行時間の長い操作を追跡するために使用されるストレージ ジョブ オブジェクトへの参照を受け取ります。
ExtendedStatus [out]
埋め込み MSFT_StorageExtendedStatus オブジェクトを含む文字列。
このパラメーターを使用すると、ストレージ プロバイダーは拡張 (実装固有の) エラー情報を返すことができます。
戻り値
成功 (0)
サポート非対称 (1)
不明なエラー (2)
タイムアウト (3)
失敗 (4)
無効なパラメーター (5)
オブジェクトが見つかりません (8)
メソッド パラメーターチェック済み - ジョブが開始されました (4096)
アクセスが拒否されました (40001)
リソース不足のため、操作を完了できません。 (40002)
キャッシュが古くなっています (40003)
予期しない I/O エラーが発生しました (40004)
致命的なデバイス ハードウェア エラーが原因で要求が失敗しました。 (40007)
ストレージ プロバイダーに接続できません。 (46000)
ストレージ プロバイダーがストレージ サブシステムに接続できません。 (46001)
このストレージ オブジェクトに対してフェールオーバー クラスタリングを有効にできませんでした。 (46008)
その名前の回復性設定は存在しません。 (49000)
WriteCacheSize の値が、サポートされている値の範囲外です。 (50005)
この操作では、指定された物理ディスクのいずれかがサポートされていません。 (51000)
操作を正常に完了するのに十分な物理ディスクが指定されていませんでした。 (51001)
指定された物理ディスクのいずれかが既に使用されています。 (51002)
指定された物理ディスクのいずれかが、このストレージ プールでサポートされていないセクター サイズを使用します。 (51003)
プールが作成されているノードには、1 つ以上の物理ディスクが接続されていません。 (51005)
解説
記憶域プールをサポートしていないサブシステムでは、次のようにこのメソッドを実装する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsAutomaticStoragePoolSelection プロパティを TRUE に設定する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsStoragePoolCreation、SupportsStoragePoolModification、SupportsStoragePoolDeletion プロパティを FALSE に設定する必要があります。
- MSFT_VirtualDisk オブジェクトは MSFT_StorageSubSystem.CreateVirtualDisk を呼び出してサブシステムに作成する必要があります。 この場合、このメソッドのサポートは必須です。
- MSFT_StoragePool クラスと MSFT_ResiliencySetting クラスのサポートは必要ありません。
- MSFT_StoragePool.CreateVirtualDisk メソッドのサポートは必要ありません。
記憶域プールをサポートするが、記憶域プールの選択を許可しないサブシステム (仮想ディスクが作成されるプールの管理者による選択)、作成、変更、または削除は、次のようにこのメソッドを実装する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsAutomaticStoragePoolSelection プロパティを TRUE に設定する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsStoragePoolCreation、SupportsStoragePoolModification、SupportsStoragePoolDeletion プロパティを FALSE に設定する必要があります。
- MSFT_VirtualDisk オブジェクトは MSFT_StorageSubSystem.CreateVirtualDisk を呼び出してサブシステムに作成する必要があります。 この場合、このメソッドのサポートは必須です。
- MSFT_VirtualDisk オブジェクトが作成される記憶域プールは、SMP によって自動的に選択される必要があります。
- MSFT_StoragePool クラスと MSFT_ResiliencySetting クラスのサポートは必要ありません。
- MSFT_StoragePool.CreateVirtualDisk メソッドのサポートは必要ありません。
記憶域プールと記憶域プールの選択をサポートするが、記憶域プールの作成、変更、または削除をサポートしていないサブシステムは、次のようにこのメソッドを実装する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsAutomaticStoragePoolSelection プロパティは、MSFT_StoragePool.CreateVirtualDisk メソッドが実装されている場合にのみ TRUE に設定する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsStoragePoolCreation、SupportsStoragePoolModification、SupportsStoragePoolDeletion プロパティを FALSE に設定する必要があります。
- MSFT_VirtualDisk オブジェクトは MSFT_StorageSubSystem.CreateVirtualDisk を呼び出してサブシステムに作成する必要があります。 この場合、このメソッドのサポートは必須です。
- MSFT_VirtualDisk オブジェクトが作成される記憶域プールは、ユーザーによって自動的に選択される必要があります。
- MSFT_StoragePool クラスと MSFT_ResiliencySetting クラスのサポートは必要ありません。 少なくとも 1 つの具象プールと 1 種類の回復性設定のサポートが必要です。
- MSFT_StoragePool.CreateVirtualDisk メソッドのサポートは省略可能です。
記憶域プールと記憶域プールの選択をサポートするが、記憶域プールの作成、変更、または削除もサポートするサブシステムは、次のようにこのメソッドを実装する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsAutomaticStoragePoolSelection プロパティは、MSFT_StoragePool.CreateVirtualDisk メソッドが実装されている場合にのみ TRUE に設定する必要があります。
- MSFT_StorageSubSystem オブジェクトの SupportsStoragePoolCreation、SupportsStoragePoolModification、SupportsStoragePoolDeletion プロパティを TRUE に設定する必要があります。
- MSFT_VirtualDisk オブジェクトは MSFT_StorageSubSystem.CreateVirtualDisk を呼び出してサブシステムに作成する必要があります。 この場合、このメソッドのサポートは必須です。
- MSFT_VirtualDisk オブジェクトが作成される記憶域プールは、ユーザーによって自動的に選択される必要があります。
- MSFT_StoragePool クラスと MSFT_ResiliencySetting クラスのサポートは必要ありません。 少なくとも 1 つの具象プールと 1 種類の回復性設定のサポートが必要です。
- MSFT_StoragePool.CreateVirtualDisk メソッドのサポートは省略可能です。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
名前空間 | Root\Microsoft\Windows\Storage |
MOF | Storagewmi.mof |