3.2.4.14 CprepDiskAttach (Opnum 23)

The CprepDiskAttach method offers implementations an opportunity to do disk-specific setup before processing is done on a disk.

 HRESULT CprepDiskAttach(
   [in] CPREP_DISKID DiskId
 );

DiskId: The identifier of the ClusPrepDisk representing 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.

0x80070490

ERROR_NOT_FOUND

The disk was not found.

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 23.

When processing this call, the server MUST:

  • Obtain the ClusPrepDisk identified by the DiskId parameter as described in section 3.2.4.

  • Perform any implementation-specific processing needed to support the successful operation of the other methods that require a ClusPrepDisk.AttachedState to be Attached.

  • Set the attach state of the designated ClusPrepDisk.AttachedState to Attached.

If the ClusPrepDisk.AttachedState was already equal to Attached, then the attach process is not performed and the method returns S_OK.