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.

3 <strong>Protocol</strong> DetailsThe following sections specify details of the <strong>VDS</strong> Remote <strong>Protocol</strong>, including abstract data models,interface method syntax, and message processing rules.3.1 InterfacesAll <strong>VDS</strong> interfaces that are listed in this section inherit the IUnknown interface. For all <strong>VDS</strong>interfaces, method opnum field values start with 3; opnum values 0, 1, and 2 represent theIUnknown::QueryInterface, IUnknown::AddRef, and IUnknown::Release methods, respectively. Formore information, see [<strong>MS</strong>-DCOM] section 3.1.1.5.8.The interfaces in this section are listed in the following order:•Generic object interfaces: Enumeration Object Interfaces (section 3.1.1) through AsynchronousOperation Object Interfaces (section 3.1.3).•<strong>Service</strong> object interfaces: <strong>Service</strong> Object Interfaces (section 3.1.5) through HBA Port ObjectInterfaces (section 3.1.6).•Provider interfaces: Provider Object Interfaces (section 3.1.9).•Pack interfaces: Pack Object Interfaces (section 3.1.11).•<strong>Disk</strong> interfaces: <strong>Disk</strong> Object Interfaces (section 3.1.12).•Volume interfaces: Volume Object Interfaces (section 3.1.13).•Volume plex interfaces: Volume Plex Object Interfaces (section 3.1.14).This order reflects the logical hierarchy of objects in <strong>VDS</strong>. For more information, see section 3.4.1.To retrieve the interfaces of a particular object, call the QueryInterface method on the DCOMIUnknown interfaces of the object. For more information, see [<strong>MS</strong>-DCOM] section 3.1.1.5.8.Unless otherwise specified, all methods MUST return zero or a nonerror HRESULT (as specified in[<strong>MS</strong>-ERREF]) on success, or an implementation-specific nonzero error code on failure (see section2.2.3 for more information on the HRESULT values predefined by the <strong>Virtual</strong> <strong>Disk</strong> <strong>Service</strong> Remote<strong>Protocol</strong>).Unless otherwise specified, client implementations of this protocol MUST NOT take any action on anerror code, but rather, return the error to the invoking application.The set of required and optional interfaces is organized into five groups. Group 1 is the required setof interfaces. Groups 2 through 5 are optional sets of interfaces.If one interface from an optional group is implemented, all interfaces in that group MUST beimplemented.The groups form an additive set: Group 1 is required. If one interface from group 2 is implemented,all interfaces in group 1 and group 2 are implemented. If one interface from group 3 isimplemented, that implies that all interfaces in groups 1, 2, and 3 are implemented.Group 1[<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, 2011116 / 360

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

Saved successfully!

Ooh no, something went wrong!