IVdsDiskPartitionMF::FormatPartitionEx method (vds.h)
Formats an existing OEM, ESP, or unknown partition.
HRESULT FormatPartitionEx( [in] ULONGLONG ullOffset, [in] LPWSTR pwszFileSystemTypeName, [in] USHORT usFileSystemRevision, [in] ULONG ulDesiredUnitAllocationSize, [in] LPWSTR pwszLabel, [in] BOOL bForce, [in] BOOL bQuickFormat, [in] BOOL bEnableCompression, [out] IVdsAsync **ppAsync );
Byte offset of the partition from the beginning of the disk. This offset must be the offset of the start of a partition.
A NULL-terminated Unicode string containing the name of the file system with which to format the partition. Must be NULL or one of the following: "NTFS", "FAT","FAT32", "UDF", or "EXFAT". If this parameter is NULL, a default value is used.
The revision of the file system, if any. This member is expressed as a 16-bit binary-coded decimal number, where a decimal point is implied between the second and third digits. For example, a value of 0x0250 indicates revision 2.50.
The size of the allocation unit for the file system, in bytes. The value must be a power of 2. If the value is 0, a default allocation unit determined by the file system type will be used. The allocation unit range is file system dependent.
Null-terminated Unicode string to assign to the new file system for the volume. The maximum label size is file system dependent.
Boolean that determines whether a file system format is forced, regardless of whether the partition is in use.
Boolean that determines whether a file system volume is quick-formatted. A quick format does not verify each sector on the volume.
Boolean that determines whether a file system will be created with compression enabled.
Pointer to an IVdsAsync interface that upon successful completion receives the IVdsAsync interface to monitor and control this operation. Callers must release the interface received when they are done with it.
This method can return standard HRESULT values, such as E_INVALIDARG or E_OUTOFMEMORY, and VDS-specific return values. It can also return converted system error codes using the HRESULT_FROM_WIN32 macro. Errors can originate from VDS itself or from the underlying VDS provider that is being used. Possible return values include the following.
||The volume was partitioned successfully.|
||A provider returned bad data.|
||The operation is not supported on removable media.|
||The default file system could not be determined.|
||The disk is missing.|
||The partition does not exist.|
||The operation is not supported on non-OEM partitions.|
In addition, the IVdsAsync interface can return the following related warnings and error codes.
||The file system is formatted but not compressed.|
||Access is denied.|
||The label is not valid.|
||The volume cannot be quick-formatted.|
||The number of clusters is too large to be represented as a 32-bit integer.|
||The cluster size is too large to allow formatting.|
||The cluster size is too small to allow formatting.|
||The file system is incompatible.|
||The media is incompatible.|
||An I/O error occurred during format.|
||The media is write-protected.|
||The volume size is too large to format.|
||The volume size is too small to format.|
This method formats only OEM, ESP, and unknown partitions. For other partitions, you must instead format the corresponding volume by using the IVdsVolumeMF::Format or IVdsVolumeMF2::FormatEx method. Note that OEM, ESP, and unknown partitions are not exposed as volumes and therefore cannot be formatted with Format or FormatEx.
This method cannot be used to format removable media.
If an OEM partition is formatted as FAT or FAT32, the partition type does not change. If it is formatted with NTFS, the partition type changes to PARTITION_IFS (0x07). For information about partition types, see CREATE_PARTITION_PARAMETERS.
|Minimum supported client||Windows Vista [desktop apps only]|
|Minimum supported server||Windows Server 2008 [desktop apps only]|