3.2.4.7 CprepDiskOnline (Opnum 13)
The CprepDiskOnline method begins the transition of a ClusPrepDisk.OnlineState to Online and then waits for the transition to complete.
-
HRESULT CprepDiskOnline( [in] CPREP_DISKID DiskId, [out] unsigned long* MaxPartitionNumber );
DiskId: The identifier of the ClusPrepDisk representing the disk whose associated volumes will become online.
MaxPartitionNumber: The number of partitions on the disk.
Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it has failed. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see [MS-ERREF] sections 2.2 and 2.1.
-
Return value/code
Description
0x00000000
S_OK
The call was successful.
0x80070002
ERROR_FILE_NOT_FOUND
The disk was not found.
0x8007139F
ERROR_INVALID_STATE
The value of ClusPrepDisk.OwnedState is not equal to OwnedByThisServer.
0x80070548
ERROR_INVALID_SERVER_STATE
The server's Prepare State is not Online.
-
For any other condition, this method MUST return a value that is not one of the values listed in the preceding table. The client MUST behave in one consistent, identical manner for all values that are not listed in the preceding table.
Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].
The opnum field value for this method is 13.
When processing this call, the server MUST do the following:
Obtain the ClusPrepDisk identified by the DiskId parameter as specified in section 3.2.4.
Start the online process in the same way that CprepDiskSetOnline does.
Wait for the implementation-specific process where volumes on the disk become online, to complete.
If the online process is successful, then count the number of partitions on the disk.
Set ClusPrepDisk.OnlineState to Online.
The server returns the following information to the client:
The number of partitions on the disk
If the ClusPrepDisk.OnlineState was already Online, then the online process is not performed and the method returns S_OK.