3.2.4.4.1.55 IVolumeClient::Uninitialize (Opnum 72)

The Uninitialize method ends the dialog between the client and the server.

 HRESULT Uninitialize();

This method has no parameters.

Return Values: The method MUST return 0 or a nonerror HRESULT on success, or an implementation-specific nonzero error code on failure (as specified in [MS-ERREF]; see also section 2.2.1 for HRESULT values predefined by the Disk Management Remote Protocol).

This is the last protocol message that a client MUST send to the server. Other protocol messages sent after this one SHOULD be ignored by the server.<186>

Upon receiving this message, the server MUST validate the following:

  • Verify that the client object is in the list of clients currently connected to the server.

If validation fails, the server MUST fail the operation immediately, returning an appropriate error as its response to the client.

Otherwise, the server MUST process the message as follows:

  1. Remove the client object from the list of clients currently connected to the server:

    1. Dereference the pointer to the IDMNotify interface that is stored in the notifyInterface field of the client object.

  2. Return a response to the client that contains the status of the operation.

The server MUST also remove the client object from the list of clients currently connected to the server if it detects that the connection to the client is lost.