RemovePhysicalDisk method of the MSFT_StoragePool class

Removes one or more physical disks from the pool and returns all previously allocated space on the disk to the available capacity in the primordial pool.

Syntax

UInt32 RemovePhysicalDisk(
  [in]  String              PhysicalDisks[],
  [in]  Boolean             RunAsJob,
  [out] MSFT_StorageJob REF CreatedStorageJob,
  [out] String              ExtendedStatus
);

Parameters

PhysicalDisks [in]

An array of strings, each of which contains an embedded MSFT_PhysicalDisk instance that represents a physical disk to be removed from the storage pool.

This parameter is required and cannot be NULL.

RunAsJob [in]

If TRUE, this method uses the CreatedStorageJob parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return Method Parameters Checked - Job Started.

Note

Even if RunAsJob is TRUE, this method can still return a result if it has finished in sufficient time.

If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation. In other words, it is synchronous unless requested otherwise.

CreatedStorageJob [out]

If RunAsJob is set to TRUE and this method takes a long time to execute, this parameter receives a reference to the storage job object that is used to track the long-running operation.

ExtendedStatus [out]

A string that contains an embedded MSFT_StorageExtendedStatus object.

This parameter allows the storage provider to return extended (implementation-specific) error information.

Return value

Success (0)

Not Supported (1)

Unspecified Error (2)

Timeout (3)

Failed (4)

Invalid Parameter (5)

Method Parameters Checked - Job Started (4096)

Access denied (40001)

There are not enough resources to complete the operation. (40002)

Cache out of date (40003)

Cannot connect to the storage provider. (46000)

The storage provider cannot connect to the storage subsystem. (46001)

This operation is not supported on primordial storage pools. (48000)

The storage pool could not complete the operation because its health or operational status does not permit it. (48006)

The storage pool could not complete the operation because its configuration is read-only. (48007)

One of the physical disks specified could not be removed because it is still in use. (51004)

Remarks

If this method is successful, the IsPooled property of each physical disk object should be set to FALSE.

Requirements

Requirement Value
Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Namespace Root\Microsoft\Windows\Storage
MOF Storagewmi.mof

See also

MSFT_StoragePool