|
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace Scsi.Multimedia
{
/// <summary>This feature identifies a drive that is able to read DVD specific information from the media.</summary>
[Description("This feature identifies a drive that is able to read DVD specific information from the media.")]
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public class DvdReadFeature : MultimediaFeature
{
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private static readonly ScsiCommandCode[] __SupportedOperations = Sort(new ScsiCommandCode[] { ScsiCommandCode.Read10, ScsiCommandCode.Read12, ScsiCommandCode.ReadDiscStructure, ScsiCommandCode.ReadTocPmaAtip });
public override FeatureSupportKind GetSupport(ScsiCommand command)
{
return Array.BinarySearch<ScsiCommandCode>(__SupportedOperations, command.OpCode) >= 0
&& (command.OpCode != ScsiCommandCode.ReadDiscStructure
|| (((ReadDiscStructureCommand)command).Format == 0 || ((ReadDiscStructureCommand)command).Format == 1 || ((ReadDiscStructureCommand)command).Format == 3 || ((ReadDiscStructureCommand)command).Format == 4))
&& (command.OpCode != ScsiCommandCode.ReadTocPmaAtip || (((ReadTocPmaAtipCommand)command).Format == ReadTocPmaAtipDataFormat.FormattedTableOfContents || ((ReadTocPmaAtipCommand)command).Format == ReadTocPmaAtipDataFormat.MultisessionInformation))
? FeatureSupportKind.Mandatory : FeatureSupportKind.None;
}
public DvdReadFeature() : base(FeatureCode.DvdRead) { }
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.