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.

<strong>Virtual</strong>DeviceType: Pointer to a VIRTUAL_STORAGE_TYPE (section 2.2.1.3.23) structurethat specifies the type of virtual hard disk to be created.pPath: A NULL-terminated wide-character string containing the name and directory path for thebacking file to be created for the virtual hard disk.pStringSecurityDescriptor: A NULL-terminated wide-character string containing the securitydescriptor to be applied to the virtual disk. Security descriptors MUST be in the SecurityDescriptor Definition Language (see [<strong>MS</strong>DN-SDDLforDevObj]). If this parameter is NULL,the security descriptor in the caller's access token (see <strong>MS</strong>FT-WSM/WEDWNK]) MUST be used.Flags: Bitmask of flags specifying how the virtual disk is to be created.ProviderSpecificFlags: A bitmask of flags that are specific to the type of virtual hard disk thatis being surfaced. These flags are provider-specific.Reserved: The parameter is reserved for future use and MAY be zero.pCreate<strong>Disk</strong>Parameters: Pointer to a <strong>VDS</strong>_CREATE_VDISK_PARAMETERS (section2.2.2.17.2.1) structure that contains the virtual hard disk creation parameters.ppAsync: A pointer to an IVdsAsync (section 3.1.3.1) interface that, if the operation issuccessfully completed, receives the IVdsAsync interface to monitor and control thisoperation. Callers MUST release the interface when they are done with it.Return Values: The method MUST return zero to indicate success, or return an implementationspecificnonzero error code to indicate 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 <strong>Virtual</strong>DeviceType is not NULL.•Verify that pPath is not NULL.•Verify that pStringSecurityDescriptor is not NULL.•Verify that if there are multiple flags, the Flags correspond to a bitwise OR of one or more flagsspecified in the CREATE_VIRTUAL_DISK_FLAG (section 2.2.2.17.1.1) enumeration;otherwise it is just the one flag.•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_CREATE_VDISK and set the pointer ppAsync references to the interface.•Return an HRESULT indicating failure or success. Any errors encountered up through this pointin processing 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.•Pass the method parameters to the operating system to create the virtual disk.•Set the return code in the async object to an HRESULT indicating failure or success.[<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, 2011192 / 360

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

Saved successfully!

Ooh no, something went wrong!