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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

•Create a new async object implementing the IVdsAsync interface with an output type of<strong>VDS</strong>_ASYNCOUT_EXTENDVOLUME and set the pointer ppAsync references to the interface.•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 then perform the following in sequence. Errors generated in this sequence of stepsare returned in the pHrResult parameter to the IVdsAsync::Wait or IVdsAsyncQueryStatus methods.•Extend the volume following the parameters specified to the method.•If the volume's size is changed, then for each callback object registered in the list of callbackobjects, call the callback object's IVdsAdviseSink::OnNotify (section 3.3.4.3.1) method witha <strong>VDS</strong>_NOTIFICATION (section 2.2.1.3.9) structure with the following attributes:•objectType member is <strong>VDS</strong>_NTT_VOLUME.•Volume member is a <strong>VDS</strong>_VOLUME_NOTIFICATION with the following attributes:•ulEvent is <strong>VDS</strong>_NF_VOLUME_MODIFY.•volumeId is the <strong>VDS</strong>_OBJECT_ID of this volume object.•The file system on the volume MAY need to be extended to fill the newly extendedvolume.•If the file system on the volume supports extension, for example, the NTFS or RAW file system,extend the file system to fill the newly extended volume. If no <strong>VDS</strong>_VOLUME_MODIFIEDnotification was sent during the previous steps because the volume's size is not changed and ifthe file system's size is changed, then for each callback object registered in the list of callbackobjects, call the callback object's IVdsAdviseSink::OnNotify method with a<strong>VDS</strong>_NOTIFICATION structure with the following attributes:•objectType member is <strong>VDS</strong>_NTT_FILE_SYSTEM.•The Filesystem member is a <strong>VDS</strong>_FILE_SYSTEM_NOTIFICATION with the followingattributes:•ulEvent is <strong>VDS</strong>_NF_FILE_SYSTEM_MODIFY.•volumeId is the <strong>VDS</strong>_OBJECT_ID of this volume object.•Set the return code in the async object to an HRESULT indicating failure or success.•If the task completed successfully, set the percentage completed value in the async object to100.•Set the signal state in the async object to TRUE.The server MUST update the percentage completed value periodically during the precedingsequence. How often the percentage completed is updated, and at what point in the sequence, isimplementation-specific.3.4.5.2.30.5 IVdsVolume::Shrink (Opnum 7)The Shrink method reduces the size of the volume and all plexes and returns the released extentsto free space.[<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, 2011238 / 360

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

Saved successfully!

Ooh no, something went wrong!