Get_LVM_View

This function gets the OS2LVM data for the specified drive letter. This allows the actual drive letter as seen by the IFS Manager to be correlated to the LVM drive letter assignments, which may be different in the event of a conflict or a drive letter preference of '*'.


#include <lvm_intr.h>

BOOLEAN _System Get_LVM_View(

    char         IFSM_Drive_Letter,   /* (I) The IFSM drive letter whose OS2LVM data is requested */
    CARDINAL32 * Drive_Number,        /* (O) The drive number of the drive's first partition */
    CARDINAL32 * Partition_LBA,       /* (O) The LBA of the drive's first partition */
    char *       LVM_Drive_Letter,    /* (O) The LVM drive letter associated with the drive */
    BYTE *       UnitID               /* (O) The OS2LVM unit ID of the volume */

);

Parameters

IFSM_Drive_Letter
The drive letter for which the OS2LVM data is requested. This is the actual drive letter as seen by the Installable File System Manager.
Drive_Number
The address of a CARDINAL32 in which to return the OS/2 drive number of the drive containing the first partition of the volume currently assigned to the requested drive letter.
Partition_LBA
The address of a CARDINAL32 in which to return the Logical Block Address of the first partition of the volume currently assigned to the requested drive letter.
LVM_Drive_Letter
The address of a char in which to return the drive letter that OS2LVM thinks the volume assigned to the requested drive letter should have.
UnitID
The address of a BYTE in which to return the OS2LVM unit ID for the volume associated with the requested drive letter.

Returns

The return value will be TRUE if the function completed successfully.

The return value will be FALSE if the specified drive letter is either not in use, or is in use by a device not controlled by OS2LVM.

Errors

N/A.

Side Effects

None.

Notes

This function can be used with the LVM Engine open or closed.

16-Bit Equivalent:

BOOLEAN _Far16 _Pascal _loadds GET_LVM_VIEW16(
        char                IFSM_Drive_Letter,
        CARDINAL32 * _Seg16 Drive_Number,
        CARDINAL32 * _Seg16 Partition_LBA,
        char *       _Seg16 LVM_Drive_Letter,
        BYTE *       _Seg16 UnitID
);