13.07.2015 Views

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The server MUST perform the following. Errors generated in this sequence of steps are returned inthe pHrResult parameter to the IVdsAsync::Wait or IVdsAsyncQueryStatus methods.•If the operating system is unable to format the device with the file system type specified usingthe type parameter, then this method MUST return <strong>VDS</strong>_E_INCOMPATIBLE_FILE_SYSTEM.•If the target device\media is write-protected, then this method MUST return<strong>VDS</strong>_E_MEDIA_WRITE_PROTECTED.•If the pwszLabel parameter is incompatible with the file system type specified using the typeparameter, then the server MUST return <strong>VDS</strong>_E_BAD_LABEL.•If the specified file system type has a minimum volume size requirement and that requirement isnot met, then the server MUST return <strong>VDS</strong>_E_VOLUME_TOO_SMALL.•If the specified file system type has a maximum volume size requirement and that requirement isnot met, then the server MUST return <strong>VDS</strong>_E_VOLUME_TOO_BIG.•If the specified file system type has a minimum or maximum cluster size requirement and thatrequirement is not met, then the server MUST return <strong>VDS</strong>_E_CLUSTER_SIZE_TOO_SMALL or<strong>VDS</strong>_E_CLUSTER_SIZE_TOO_BIG, respectively.•If the specified file system type has a maximum cluster count requirement and that requirementis not met, then the server MUST return <strong>VDS</strong>_E_CLUSTER_COUNT_BEYOND_32BITS.The server MUST update the percentage completed value periodically during the following sequence,and send progress notifications to all clients. How often the percentage completed is updated, and atwhat point in the sequence, is implementation specific. To send progress notifications to the clients:•For each callback object registered in the list of callback objects, call the callback object'sIVdsAdviseSink::OnNotify (Opnum 3)method with a <strong>VDS</strong>_NOTIFICATION structure withthe following attributes:•objectType member is <strong>VDS</strong>_NTT_FILE_SYSTEM.•FileSystem member is a <strong>VDS</strong>_FILE_SYSTEM_NOTIFICATION with the followingattributes:•ulEvent is <strong>VDS</strong>_NF_FILE_SYSTEM_FORMAT_PROGRESS.•volumeId is set to GUID_NULL.•dwPercentCompleted is the percentage completed value.The server MUST then perform the following in sequence:•Format the partition following the parameters specified to the method.•If <strong>VDS</strong>_FSOF_COMPRESSION is specified and the file system being formatted supportscompression, compress the file system after formatting is complete.•Set the return code in the async object to an HRESULT indicating failure or success.•If the server was required to compress the file system after formatting but could not, thereturn code MUST be set to <strong>VDS</strong>_S_VOLUME_COMPRESS_FAILED (HRESULT of 0x00042443).•If the task completed successfully, set the percentage completed value in the async object to100.[<strong>MS</strong>-<strong>VDS</strong>] — v20110610<strong>Virtual</strong> <strong>Disk</strong> <strong>Service</strong> (<strong>VDS</strong>) <strong>Protocol</strong> <strong>Specification</strong>Copyright © 2011 Microsoft Corporation.Release: Friday, June 10, 2011233 / 360

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!