3.2.4.4.1.46 IVolumeClient::QueryChangePartitionNumbers (Opnum 55)

The QueryChangePartitionNumbers method retrieves information about the partition number change that results when a boot partition is encapsulated.

 HRESULT QueryChangePartitionNumbers(
   [out] int* oldPartitionNumber,
   [out] int* newPartitionNumber
 );

oldPartitionNumber: Pointer to the partition number of the boot volume before the encapsulation operation.

newPartitionNumber: Pointer to the partition number of the boot volume after the encapsulation operation.

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 theDisk Management Remote Protocol).

Upon receiving this message, the server MUST validate parameters:

  1. Verify that oldPartitionNumber and newPartitionNumber are not NULL.

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

Otherwise, the server MUST compose a response to the client as follows:

  1. Retrieve the boot partition change information from persistent storage (registry).

  2. The old (pre-encapsulation) partition number of the boot partition MUST be returned in the output parameter oldPartitionNumber. Return 0 if there is no boot partition change information to report.

  3. The new (post-encapsulation) partition number of the boot partition MUST be returned in the output parameter newPartitionNumber. Return 0 if there is no boot partition change information to report.

  4. Return a response containing the output parameters mentioned previously and the status of the operation.