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.

•Verify that ppVolume is not NULL.The server MUST point ppVolume to an IVdsVolume interface of the volume object that thevolume plex object's volume pointer refers. The server MUST then return an HRESULT indicatingfailure or success.3.4.5.2.37.3 IVdsVolumePlex::QueryExtents (Opnum 5)The QueryExtents method returns all extents for the current plex.HRESULT QueryExtents([out, size_is(,*plNumberOfExtents)]<strong>VDS</strong>_DISK_EXTENT** ppExtentArray,[out] long* plNumberOfExtents);ppExtentArray: A pointer to an array of <strong>VDS</strong>_DISK_EXTENT structures that, if the operation issuccessfully completed, receives the array of disk extent properties.plNumberOfExtents: A pointer to a variable that, if the operation is successfully completed,receives the total number of elements in ppExtentArray.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 parameters:•Verify that ppExtentArray is not NULL.•Verify that plNumberOfExtents is not NULL.The server MUST point ppExtentArray to an array of <strong>VDS</strong>_DISK_EXTENT structures that containinformation about each disk extent on the volume plex, point plNumberOfExtents to the size ofthe array, and then return an HRESULT indicating failure or success.For removable media drives, the server MUST set the value of diskId in the <strong>VDS</strong>_DISK_EXTENTstructure to the <strong>VDS</strong>_OBJECT_ID of the drive associated with the plex object.For a removable media drive with no media, the server MUST return a single extent of type<strong>VDS</strong>_DET_UNKNOWN with values of ullOffset and ullSize set to 0.3.4.5.2.37.4 IVdsVolumePlex::Repair (Opnum 6)The Repair method repairs a fault-tolerant volume plex by moving defective members to gooddisks. Only plexes that are RAID-5, striped with parity, can be repaired with this method.HRESULT Repair([in, size_is(lNumberOf<strong>Disk</strong>s)] <strong>VDS</strong>_INPUT_DISK* pInput<strong>Disk</strong>Array,[in] long lNumberOf<strong>Disk</strong>s,[out] IVdsAsync** ppAsync);[<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, 2011266 / 360

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

Saved successfully!

Ooh no, something went wrong!