IOCTL_CDROM_READ_TOC (Compact 2013)

3/26/2014

This I/O control message returns the table of contents of the medium and stores it into a CDROM_TOC structure. Send this message with DeviceIoControl.

Syntax

BOOL DeviceIoControl(
    HANDLE hDevice,           // handle to device
    DWORD dwIoControlCode,    // use IOCTL_CDROM_READ_TOC
    LPVOID lpInBuffer,        // pointer to input buffer
    DWORD nInBufferSize,      // input buffer size
    LPVOID lpOutBuffer,       // pointer to output buffer
    DWORD nOutBufferSize,     // output buffer size
    LPDWORD lpBytesReturned,  // number of bytes returned
    OVERLAPPED lpOverlapped   // pointer to OVERLAPPED structure
);

Parameters

  • hDevice
    [in] Handle to the device.
  • dwIoControlCode
    [in] Control code for the operation. Use IOCTL_CDROM_READ_TOC for this operation.
  • lpInBuffer
    [in] Set to NULL.
  • nInBufferSize
    [in] Set to zero.
  • lpOutBuffer
    [in][out] On input, set to the address of an allocated CDROM_TOC structure. On output, a filled CDROM_TOC structure.
  • nOutBufferSize
    [in] Set to sizeof(CDROM_TOC).
  • lpBytesReturned
    [in][out] On input, address of a DWORD that receives the size in bytes of the data sent. On output, set to the number of bytes written from the supplied buffer.
  • lpOverlapped
    [in] Set to NULL.

Return Values

Returns TRUE if successful; otherwise, returns FALSE.

Remarks

To get extended error information, call GetLastError. GetLastError may return other standard error messages as appropriate.

Remarks

The maximum number of tracks is 100.

Requirements

Header

cdioctl.h

See Also

Reference

Block Driver IOCTLs
DeviceIoControl