4.1 A Shared Disk Online
The following example illustrates how a protocol client brings a disk that is shared by multiple servers online. Assume that only one disk will be brought online and that the disk is currently not owned by any server.
The following diagram is a depiction of the message flow.

Figure 1: Message flow: Bringing a shared Disk online
The client initializes an RPC connection for the correct interface as specified in section 3.3.3. The client knows the names of the server.
The client issues a CprepPrepareNode request.
The client issues a CprepPrepareNodePhase2 request. This returns the number of disks attached to the system.
The client picks a disk number for a shared disk and issues a CprepDiskGetProps request. This returns, among other things, the CPREP_DISKID structure to use to represent the ClusPrepDisk.
The client uses the CPREP_DISKID from the previous call and issues a CprepDiskAttach call. This allows the server-side implementation to do any preprocessing needed to support further operations on the disk.
The client issues a CprepDiskPRArbitrate request, again using the CPREP_DISKID for the disk. This establishes ownership of the disk, which is required to bring the disk online.
The client uses the CPREP_DISKID for the ClusPrepDisk and calls CprepDiskOnline, which brings the ClusPrepDisk to an online state.