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.

p<strong>Disk</strong>IdArray: A pointer to an array of <strong>VDS</strong>_OBJECT_ID structures that store the <strong>VDS</strong> objectIDs of the disks to be uninstalled.ulCount: The number of disks that are specified in p<strong>Disk</strong>IdArray.bForce: A Boolean that determines whether the volume dismount is forced.pbReboot: A pointer to a Boolean that, if the operation is successfully completed, indicateswhether the user must reboot the remote machine in order to complete the uninstall process.pResults: A pointer to an array of HRESULT values that, if the operation is successfullycompleted, receives an HRESULT for each disk uninstall request. There MUST be one HRESULTvalue in the array for each disk in p<strong>Disk</strong>IdArray. If any disk fails to uninstall properly, the errorcode for that failure is received in the corresponding entry in pResults.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 p<strong>Disk</strong>IdArray is not NULL.•Verify that pbReboot is not NULL.•Verify that pResults is not NULL.The server MUST perform the following:•For each <strong>VDS</strong> object identifier in the specified p<strong>Disk</strong>IdArray, lock and dismount all volumes thathave extents on the disk. If the value of the Boolean that bForce references is specified as TRUE,continue to the next steps, even if the lock or dismount operation fails.•For each <strong>VDS</strong> object identifier in the specified p<strong>Disk</strong>IdArray, take offline (if possible) anduninstall all volumes that have extents on the disk. For information on removing volumes, seesection 3.4.5.1.6.•If the volume uninstalls require a reboot to take full effect, set the value of the Boolean thatpbReboot references to TRUE; otherwise, FALSE.•For each <strong>VDS</strong> object identifier in the specified p<strong>Disk</strong>IdArray, uninstall the disk that corresponds tothe identifier. Set the status of each disk operation to the corresponding value in the array thatpResults specifies. For more information on removing disk objects, see section 3.4.5.1.4.•If the disk uninstalls require a restart to take full effect, set the value of the Boolean thatpbReboot references to TRUE; otherwise, FALSE.•Clean up any obsolete drive letters and mount points for the volumes that have been uninstalled.•Return success (HRESULT of 0x00000000) if successful.[<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, 2011182 / 360

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

Saved successfully!

Ooh no, something went wrong!