VintaSoft Twain .NET SDK v10.2
Vintasoft.Twain Namespace / Device Class / Capabilities Property
Example




In This Topic
    Capabilities Property (Device)
    In This Topic
    Gets the collection of the device capabilities.
    Syntax
    'Declaration
     
    Public ReadOnly Property Capabilities As DeviceCapabilityCollection
    'Usage
     
    Dim instance As Device
    Dim value As DeviceCapabilityCollection
     
    value = instance.Capabilities
    public DeviceCapabilityCollection Capabilities {get;}
    public: __property DeviceCapabilityCollection* get_Capabilities();
    public:
    property DeviceCapabilityCollection^ Capabilities {
       DeviceCapabilityCollection^ get();
    }
    Exceptions
    ExceptionDescription
    Thrown if device is in wrong state.
    Thrown if the .NET debugger is used and the function evaluation requires all threads to run.
    Example
    This example shows how to get information about all pixel types supported by the device.
    Public Shared Sub GetPixelTypesInfo()
        Using deviceManager As New DeviceManager()
            ' open the device manager
            deviceManager.Open()
                
            ' get reference to the default 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
    public static void GetPixelTypesInfo()
    {
        using (DeviceManager deviceManager = new DeviceManager())
        {
            // open the device manager
            deviceManager.Open();
                
            // get reference to the default 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();
        }
    }
    Requirements

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

    See Also