/// <summary>
/// CDAudio_GetAudioDiskInfo
/// </summary>
public void ReloadDiskInfo()
{
_IsValidDisc = false;
Mci.StatusParams sp = default(Mci.StatusParams);
sp.dwItem = Mci.MCI_STATUS_READY;
int ret = Mci.Status(_DeviceID, Mci.MCI_STATUS, Mci.MCI_STATUS_ITEM | Mci.MCI_WAIT, ref sp);
if (ret != 0)
{
Con.DPrint("CDAudio: drive ready test - get status failed\n");
return;
}
if (sp.dwReturn == 0)
{
Con.DPrint("CDAudio: drive not ready\n");
return;
}
sp.dwItem = Mci.MCI_STATUS_NUMBER_OF_TRACKS;
ret = Mci.Status(_DeviceID, Mci.MCI_STATUS, Mci.MCI_STATUS_ITEM | Mci.MCI_WAIT, ref sp);
if (ret != 0)
{
Con.DPrint("CDAudio: get tracks - status failed\n");
return;
}
if (sp.dwReturn < 1)
{
Con.DPrint("CDAudio: no music tracks\n");
return;
}
_IsValidDisc = true;
_MaxTrack = (byte)sp.dwReturn;
}