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.

•Add the volume plex of the volume corresponding to the <strong>VDS</strong>_OBJECT_ID that VolumeIdspecifies as a volume plex to this volume.•Set the volume plex's volume pointer to this volume object.•Remove the volume object corresponding to the <strong>VDS</strong>_OBJECT_ID that VolumeId specifies fromthe list of storage management objects.•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.7 IVdsVolume::BreakPlex (Opnum 9)The BreakPlex method removes a specified plex from the current volume. The interface pointer forthe new volume object can be retrieved by calling IVdsAsync::Wait through the ppAsyncparameter. The <strong>VDS</strong>_ASYNC_OUTPUT structure that is returned contains the volume objectinterface pointer in the bvp.pVolumeUnk member.HRESULT BreakPlex([in] <strong>VDS</strong>_OBJECT_ID plexId,[out] IVdsAsync** ppAsync);plexId: The GUID of the plex to be broken.ppAsync: A pointer to an IVdsAsync interface that, if the operation is successfully completed,receives the IVdsAsync interface to monitor and control this operation. Callers MUST releasethe interface when they are done with it. If the IVdsAsync::Wait method is called on theinterface, the interfaces returned in the <strong>VDS</strong>_ASYNC_OUTPUT structure MUST be releasedas well. For information on asynchronous tasks, see section 3.4.5.1.9.Return Values: The method MUST return zero or a non-error HRESULT (as specified in [<strong>MS</strong>-ERREF]) to indicate success, or return an implementation-specific nonzero error code toindicate failure. For the HRESULT values predefined by the <strong>Virtual</strong> <strong>Disk</strong> <strong>Service</strong> Remote<strong>Protocol</strong>, see section 2.2.3.When the server receives this message, it MUST validate the following parameter:•Verify that ppAsync is not NULL.The server MUST perform the following:•Create a new async object implementing the IVdsAsync interface with an output type of<strong>VDS</strong>_ASYNCOUT_BREAKVOLUMEPLEX and set the pointer that ppAsync references to theinterface.•Return an HRESULT indicating failure or success. Any errors encountered up through this point inprocessing the operation are returned in this HRESULT.[<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, 2011241 / 360

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

Saved successfully!

Ooh no, something went wrong!