VintaSoft Twain .NET SDK v10.2
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
    Syntax
    'Declaration
     
    Public NotInheritable Class DeviceCapability 
    'Usage
     
    Dim instance As DeviceCapability
    public sealed class DeviceCapability 
    public __gc __sealed class DeviceCapability 
    public ref class DeviceCapability sealed 
    Example
    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
            deviceManager.Open()
                
            ' get reference to the deafult device
            Dim device As Device = deviceManager.DefaultDevice
                
            ' open the device
            device.Open()
                
            ' 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)))
                        Next
                        Exit Select
                End Select
                
                Console.WriteLine()
            End If
                
            ' close the device
            device.Close()
                
            ' close the device manager
            deviceManager.Close()
        End Using
    End Sub
    private static void GetPixelTypesInfo()
    {
        using (DeviceManager deviceManager = new DeviceManager())
        {
            // open the device manager
            deviceManager.Open();
                
            // get reference to the deafult device
            Device device = deviceManager.DefaultDevice;
            
            // open the device
            device.Open();
                
            // 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)));
                        break;
                }
                
                Console.WriteLine();
            }
                
            // close the device
            device.Close();
                
            // close the device manager
            deviceManager.Close();
        }
    }
    Inheritance Hierarchy

    System.Object
       Vintasoft.WpfTwain.DeviceCapability

    Requirements

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

    See Also