Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3339268
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T00:28:22+00:00 2026-05-18T00:28:22+00:00

Trying to read the sizes of disks that were created in multiple sessions using

  • 0

Trying to read the sizes of disks that were created in multiple sessions using GetDiskFreeSpaceEx() gives the size of the last session only. How do I read correctly the number and sizes of all sessions in C/C++?

Thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T00:28:22+00:00Added an answer on May 18, 2026 at 12:28 am

    You might want to look at the DeviceIoControl API function. See here for control codes. Here is a code example that retrieves the size of a CD disk. Substitute

    CreateFile(TEXT("\\\\.\\PhysicalDrive0")
    

    for e.g.

    CreateFile(TEXT("\\\\.\\F:") /* Drive is F: */
    

    if you wish.

    Note: The page says that DeviceIoControl can be used to “retrieve information about a floppy disk drive, hard disk drive, tape drive, or CD-ROM drive”, but I have also tested it on a DVD, and it seemed to work perfectly. I did not have access to any multisession DVDs to test, so you’ll have to test if that works yourself. If it doesn’t work, I’d try some of the other control codes, at least IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_GET_LENGTH_INFO and IOCTL_DISK_GET_PARTITION_INFO_EX.


    If all fails with DeviceIoControl, you could possibly make use of the Windows Image Mastering API (IMAPI). You’ll need v2 of the API (included with Vista & later, can be added to XP & 2003 too, see here: What’s new in IMAPIv2) for DVD support. This API is primarily for CD burning, but does perhaps contain some functionality for retrieving disk size, I’d find it weird if it didn’t. Particularly, this example seems to be interesting. I do not know if this one works for multisession disks either, but since it can create them, I guess it’s likely.

    Here are some resources for IMAPI:
    MSDN – IMAPI
    MSDN – IMAPI interfaces
    MSDN – Creating multisession disks with IMAPI (note: example with VB, not C or C++)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to scale my app to all screen sizes and I read that
I am Trying to Read xml file of size 10 MB. I am Using
Trying to read an RSS and select information using Linq but can't seem to
I am trying to read in an XML file that I have saved to
I am trying to read from a file and encrypt the data using AES
I'm trying to allow for multiple icon sizes depending on certain conditions. To do
The size of the test.bin is 7,01,760 bytes. I am trying to read date
Trying to read headers for a csv file with: reader = csv.DictReader(open(PATH_FILE),skipinitialspace=True) headers =
After trying to read various articles on sending emails with attachments in PHP (I
Im trying to read a column of String values from my DB. Im trying

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.