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.3.2 TimersNone.3.3.3 InitializationA client initializes by creating an RPC binding handle to the IVds<strong>Service</strong>Loader interface. For moreinformation on how to get a client-side RPC binding handle for an IVds<strong>Service</strong>Loader interface,see [<strong>MS</strong>-DCOM] section 3.2.4.After the client obtains the IVds<strong>Service</strong>Loader interface, the client MUST invokeIVds<strong>Service</strong>Loader::Load<strong>Service</strong> on the interface to retrieve the IVds<strong>Service</strong> interface.If the IVds<strong>Service</strong> interface was NOT obtained by calling IVds<strong>Service</strong>Loader::Load<strong>Service</strong>, theclient MUST invoke IUnknown::QueryInterface to retrieve the IVds<strong>Service</strong>Initialization interface.If the IVds<strong>Service</strong> interface was obtained by calling CoCreateInstance (see [<strong>MS</strong>DN-CoCreateInstance]) on the <strong>VDS</strong> server with the class GUID of the <strong>VDS</strong> service, then the clientMUST:•Invoke IUnknown::QueryInterface on the interface to retrieve the IVds<strong>Service</strong>Initializationinterface.•After the client obtains the IVds<strong>Service</strong>Initialization interface, the client MUST invoke theIVds<strong>Service</strong>Initialization::Initialize method on the interface before invoking any othermethod.All the clients MUST then do one of the following before invoking any other methods:•Invoke IVds<strong>Service</strong>::WaitFor<strong>Service</strong>Ready and wait for it to return with a success code.•Invoke IVds<strong>Service</strong>::Is<strong>Service</strong>Ready in a loop until this method returns a success code.3.3.4 Message Processing Events and Sequencing Rules3.3.4.1 Processing Server Replies to Method CallsAfter the client receives a reply from the server in response to a method call, the client MUSTvalidate the return code. Return codes from all method calls are HRESULTs. If the HRESULTindicates success, the client can assume that any output parameters are present and valid.Certain calls must be performed in sequence. For example, where method A is a prerequisite call formethod B, the client will pass output parameters from method A as input parameters to method B,as described in section 3.2.1.1.1. If method B is called, then the client must retain A's outputparameters until B completes.The client MUST release any DCOM interfaces that the server returns when the client no longerneeds them.3.3.4.2 Processing Notifications Sent from the Server to the ClientThe client SHOULD choose to implement the IVdsAdviseSink interface in order to receivenotification from the server of changes to the storage objects on the server. Notifications are sent tothe client for creating, deleting, and modifying storage objects. The client can choose to take otheraction based on these notifications. The client can also choose to ignore notifications from theserver.[<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, 2011152 / 360

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

Saved successfully!

Ooh no, something went wrong!