Expand_Volume

This function expands an existing volume by linking additional partitions into it.


#include <lvm_intr.h>

void _System Expand_Volume(

    ADDRESS      Volume_Handle,          /* (I) Handle of the volume to be expanded */
    CARDINAL32   Partition_Count,        /* (I) The number of handles being specified */
    ADDRESS      Partition_Handles[ ],   /* (I) Array of partition and/or volume handles */
    CARDINAL32 * Error_Code              /* (O) Address where the error code will be stored */

);

Parameters

Volume_Handle
The handle of the volume to be expanded.
Partition_Count
The number of handles specified in the Partition_Handles array. This indicates the number of partitions or volumes to be added to the volume being expanded.
Partition_Handles
An array of handles. Each handle in the array is the handle of a partition or volume which is to be added to the volume being expanded.
Error_Code
The address of a CARDINAL32 in which to store an error code should an error occur.

Returns

N/A.

Errors

If Volume_Handle is not a valid handle, a trap may result.

If Volume_Handle is a partition or drive handle, then this function will abort and a error condition will occur.

If any of the handles in the Partition_Handles array are not valid handles, a trap may result.

If any of the handles in the Partition_Handles array are drive handles, then this function will abort and an error condition will occur.

If Partition_Count is greater than the number of entries in the Partition_Handles array, a trap may result.

If the volume cannot be expanded, the state of the volume is unchanged and any memory allocated by this function is freed.

In the event of an error, the value pointed to by Error_Code will be greater than 0.

Side Effects

A volume may be expanded. If the volume is expanded using another volume, the partitions on the second volume will be linked to those of the first volume and all data on the second volume will be lost.

Notes

None.

16-Bit Equivalent:

void _Far16 _Pascal _loadds EXPAND_VOLUME16(
        CARDINAL32          Volume_Handle,
        CARDINAL32          Partition_Count,
        CARDINAL32 * _Seg16 Partition_Handles,
        CARDINAL32 * _Seg16 Error_Code
);