VintaSoft Twain .NET SDK v10.3
Vintasoft.WpfTwain Namespace / DeviceCapability Class
Members Example

In This Topic
    DeviceCapability Class
    In This Topic
    Class that allows to manipulate the device capability.
    Object Model
    DeviceCapability Class
    Public NotInheritable Class DeviceCapability 
    Dim instance As DeviceCapability
    public sealed class DeviceCapability 
    public __gc __sealed class DeviceCapability 
    public ref class DeviceCapability sealed 
    This example shows how to get information about all pixel types supported by the device.
    Private Shared Sub GetPixelTypesInfo()
        Using deviceManager As New DeviceManager()
            ' open the device manager
            ' get reference to the deafult device
            Dim device As Device = deviceManager.DefaultDevice
            ' open the device
            ' get reference to object that manipulates IPixelType capability
            Dim pixelTypeCap As DeviceCapability = device.Capabilities.Find(DeviceCapabilityId.IPixelType)
            ' if IPixelType capability supported
            If pixelTypeCap IsNot Nothing Then
                ' get information about current, default and supported values of capability
                Dim capValue As TwainValueContainerBase = pixelTypeCap.GetValue()
                Select Case capValue.ContainerType
                    Case TwainValueContainerType.[Enum]
                        Dim capValueAsEnum As TwainEnumValueContainer = DirectCast(capValue, TwainEnumValueContainer)
                        Dim enumValues As Array = capValueAsEnum.EnumValues
                        ' output the capability values in human readable format
                        Console.WriteLine(String.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)))
                        Console.WriteLine(String.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)))
                        Console.Write("Supported pixel types:")
                        For i As Integer = 0 To enumValues.Length - 1
                            Console.Write(String.Format(" {0}", enumValues.GetValue(i)))
                        Exit Select
                End Select
            End If
            ' close the device
            ' close the device manager
        End Using
    End Sub
    private static void GetPixelTypesInfo()
        using (DeviceManager deviceManager = new DeviceManager())
            // open the device manager
            // get reference to the deafult device
            Device device = deviceManager.DefaultDevice;
            // open the device
            // get reference to object that manipulates IPixelType capability
            DeviceCapability pixelTypeCap = device.Capabilities.Find(DeviceCapabilityId.IPixelType);
            // if IPixelType capability supported
            if (pixelTypeCap != null)
                // get information about current, default and supported values of capability
                TwainValueContainerBase capValue = pixelTypeCap.GetValue();
                switch (capValue.ContainerType)
                    case TwainValueContainerType.Enum:
                        TwainEnumValueContainer capValueAsEnum = (TwainEnumValueContainer)capValue;
                        Array enumValues = capValueAsEnum.EnumValues;
                        // output the capability values in human readable format
                        Console.WriteLine(string.Format("Current pixel type: {0}", enumValues.GetValue(capValueAsEnum.ValueIndex)));
                        Console.WriteLine(string.Format("Default pixel type: {0}", enumValues.GetValue(capValueAsEnum.DefaultValueIndex)));
                        Console.Write("Supported pixel types:");
                        for (int i = 0; i < enumValues.Length; i++)
                            Console.Write(string.Format(" {0}", enumValues.GetValue(i)));
            // close the device
            // close the device manager
    Inheritance Hierarchy



    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2016, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also