VintaSoft Twain .NET SDK 15.3: Documentation for .NET developer
Vintasoft.Twain Namespace / DeviceCapability Class
Members Object Syntax Example Hierarchy Requirements SeeAlso
In This Topic
    DeviceCapability Class
    In This Topic
    Class that allows to manipulate the device capability.
    Object Model
    DeviceCapability
    Syntax
    'Declaration
    
    Public NotInheritable Class DeviceCapability
    
    
    public sealed class DeviceCapability
    
    
    public __gc __sealed class DeviceCapability
    
    
    public ref class DeviceCapability sealed
    
    
    Example

    This C#/VB.NET code shows how to get information about all pixel types supported by the device.

    
    Private Shared Sub GetPixelTypesInfo()
        Using deviceManager As New Vintasoft.Twain.DeviceManager()
            ' open the device manager
            deviceManager.Open()
    
            ' get reference to the deafult device
            Dim device As Vintasoft.Twain.Device = deviceManager.DefaultDevice
    
            ' open the device
            device.Open()
    
            ' get reference to object that manipulates IPixelType capability
            Dim pixelTypeCap As Vintasoft.Twain.DeviceCapability = device.Capabilities.Find(Vintasoft.Twain.DeviceCapabilityId.IPixelType)
            ' if IPixelType capability supported
            If pixelTypeCap IsNot Nothing Then
                ' get information about current, default and supported values of capability
                Dim capValue As Vintasoft.Twain.TwainValueContainerBase = pixelTypeCap.GetValue()
    
                Select Case capValue.ContainerType
                    Case Vintasoft.Twain.TwainValueContainerType.[Enum]
                        Dim capValueAsEnum As Vintasoft.Twain.TwainEnumValueContainer = DirectCast(capValue, Vintasoft.Twain.TwainEnumValueContainer)
                        Dim enumValues As System.Array = capValueAsEnum.EnumValues
    
                        ' output the capability values in human readable format
                        System.Console.WriteLine(String.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)))
                        System.Console.WriteLine(String.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)))
                        System.Console.Write("Supported pixel types:")
                        For i As Integer = 0 To enumValues.Length - 1
                            System.Console.Write(String.Format(" {0}", enumValues.GetValue(i)))
                        Next
                        Exit Select
                End Select
    
                System.Console.WriteLine()
            End If
    
            ' close the device
            device.Close()
    
            ' close the device manager
            deviceManager.Close()
        End Using
    End Sub
    
    
    
    private static void GetPixelTypesInfo()
    {
        using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
        {
            // open the device manager
            deviceManager.Open();
    
            // get reference to the deafult device
            Vintasoft.Twain.Device device = deviceManager.DefaultDevice;
    
            // open the device
            device.Open();
    
            // get reference to object that manipulates IPixelType capability
            Vintasoft.Twain.DeviceCapability pixelTypeCap = device.Capabilities.Find(Vintasoft.Twain.DeviceCapabilityId.IPixelType);
            // if IPixelType capability supported
            if (pixelTypeCap != null)
            {
                // get information about current, default and supported values of capability
                Vintasoft.Twain.TwainValueContainerBase capValue = pixelTypeCap.GetValue();
    
                switch (capValue.ContainerType)
                {
                    case Vintasoft.Twain.TwainValueContainerType.Enum:
                        Vintasoft.Twain.TwainEnumValueContainer capValueAsEnum = (Vintasoft.Twain.TwainEnumValueContainer)capValue;
                        System.Array enumValues = capValueAsEnum.EnumValues;
    
                        // output the capability values in human readable format
                        System.Console.WriteLine(string.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)));
                        System.Console.WriteLine(string.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)));
                        System.Console.Write("Supported pixel types:");
                        for (int i = 0; i < enumValues.Length; i++)
                            System.Console.Write(string.Format(" {0}", enumValues.GetValue(i)));
                        break;
                }
    
                System.Console.WriteLine();
            }
    
            // close the device
            device.Close();
    
            // close the device manager
            deviceManager.Close();
        }
    }
    
    

    Inheritance Hierarchy

    System.Object
       Vintasoft.Twain.DeviceCapability

    Requirements

    Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also