VintaSoft Twain .NET SDK v10.2
Capabilities Property (Device)
Example 




Vintasoft.Twain Namespace > Device Class : Capabilities Property
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

Reference

Device Class
Device Members