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.

•Return an HRESULT indicating failure or success. Any errors encountered up through this point inprocessing the operation are returned in this HRESULT.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.•Attempt to get exclusive access to the volume. If the server fails to get exclusive access to thevolume, and the bForce parameter is not set to a non-zero value, then the server MUST return<strong>VDS</strong>_E_DEVICE_IN_USE.•If the operating system is unable to format the device by using the file system type that isspecified using the 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 does not support quick formatting, then the server MUST return<strong>VDS</strong>_E_CANT_QUICK_FORMAT.•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 requirementis not 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 with thefollowing 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 the <strong>VDS</strong>_OBJECT_ID of the volume object•dwPercentCompleted is the percentage completed value.The server MUST then perform the following in sequence:•Format the volume following the parameters specified to the method.[<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, 2011258 / 360

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

Saved successfully!

Ooh no, something went wrong!