3.1.4.1.1.3 Relationships Between Storage Objects

Regions and Volumes: Given a REGION_INFO structure that describes a region, a client can map the region to its volume by obtaining a list of VOLUME_INFO structures (as returned from a call to EnumVolumes) and matching the REGION_INFO::volId member to the VOLUME_INFO::id member of an entry in the list of volumes.

Regions and Disks: Given a REGION_INFO that describes a region, a client can map the region to its disk by obtaining a list of DISK_INFO structures (as returned from a call to EnumDisks) and matching the REGION_INFO::diskId member to the DISK_INFO::id member of an entry in the list of disks.

Regions and File systems:  Given a REGION_INFO that describes a region, a client can map the region to its file system by obtaining a list of FILE_SYSTEM_INFO structures (as returned from a call to EnumLocalFileSystems) and matching the REGION_INFO::fsId member to the FILE_SYSTEM_INFO::id member of an entry in the list of file systems.

Volumes and File systems:  Given a VOLUME_INFO structure that describes a volume, a client can map the volume to a file system by obtaining a list of FILE_SYSTEM_INFO structures (as returned from a call to EnumLocalFileSystems) and matching the VOLUME_INFO::fsId member to the FILE_SYSTEM_INFO::id member of an entry in the list of file systems.

Volumes and Tasks: Given a TASK_INFO structure returned by a call to perform an operation on a volume (such as Format or Grow Volume), the TASK_INFO::storageId member will map to the VOLUME_INFO::id member of the volume. Conversely, the VOLUME_INFO::taskId member maps to the TASK_INFO::id member.

Volumes and Drive Letters: Given a VOLUME_INFO structure that describes a volume, a client can map the volume to its drive letter by obtaining a list of DRIVE_LETTER_INFO structures (as returned from a call to EnumDriveLetters) and matching the VOLUME_INFO::id member to the DRIVE_LETTER_INFO::storageId member of an entry in the list of file systems.

Volume Members and Regions: Given a list of LdmObjectIds that identify volume members (as returned from a call to EnumVolumeMembers), a client can map the list of LdmObjectIds to the REGION_INFO structures of volume members as follows:

  • Obtain a list of DISK_INFO structures (as returned from a call to EnumDisks) for all disks.

  • For each entry in the list of DISK_INFO structures, obtain a list of the REGION_INFO structures (as returned from a call to EnumDiskRegions) for all regions on the disk.

  • For each entry in the list of REGION_INFO structures, match the REGION_INFO::id member structure to an entry in the list of LdmObjectId.