Get_Drive_Control_Data

This function returns an array of drive control records. These records provide important information about the drives in the system, including the handles required to access them.


#include <lvm_intr.h>

Drive_Control_Array _System Get_Drive_Control_Data(

    CARDINAL32 * Error_Code    /* (O) Address where the error code will be stored */

);

Parameters

Error_Code
The address of a CARDINAL32 in which to store an error code should an error occur.

Returns

A Drive_Control_Array structure is returned. If no errors occur, the Drive_Control_Data field will be non-NULL, the Count field will be greater than 0, and the value pointed to by Error_Code will be 0 (LVM_ENGINE_NO_ERROR).

If an error does occur, the Drive_Control_Data field will be NULL, the Count field will be 0, and the value pointed to by Error_Code will be non-zero.

Errors If an error occurs, the value pointed to by Error_Code will be greater than 0.

Side Effects

Memory for the returned array is allocated.

Notes

The caller becomes responsible for the memory allocated for the array of records pointed to by the Drive_Control_Data pointer in the Drive_Control_Array structure returned by this function. The caller should free this memory using the Free_Engine_Memory function once it is no longer needed.

16-Bit Equivalent:

void _Far16 _Pascal _loadds GET_DRIVE_CONTROL_DATA16(
        Drive_Control_Record * _Seg16 * _Seg16 Drive_Control_Data,
        CARDINAL32 *                    _Seg16 Count,
        CARDINAL32 *                    _Seg16 Error_Code
);