public unsafe string?GetTrackISRC(byte track) { SubQDataFormat dataFormat = new SubQDataFormat() { Format = (byte)SubQDataFormatFormat.TrackISRC, Track = track }; var isrc = file.DeviceControlInputOutput <SubQDataFormat, SubQTrackISRC>(DeviceIoControlCode.CdRomReadQChannel, ref dataFormat); if ((isrc.ReservedTcVal & 128) == 0) { return(null); } return(new string((sbyte *)isrc.TrackIsrc)); }
public unsafe string?GetMediaCatalogNumber() { SubQDataFormat dataFormat = new SubQDataFormat() { Format = (byte)SubQDataFormatFormat.MediaCatalog, Track = 0 }; var catNr = file.DeviceControlInputOutput <SubQDataFormat, SubQMediaCatalogNumber>(DeviceIoControlCode.CdRomReadQChannel, ref dataFormat); if ((catNr.ReservedMcVal & 128) == 0) { return(null); } return(new string((sbyte *)catNr.MediaCatalog)); }