VintaSoft Twain .NET SDK 15.4: Documentation for .NET developer
Vintasoft.WpfTwain Namespace / Device Class / Capabilities Property
Syntax Exceptions Example Requirements SeeAlso
In This Topic
Capabilities Property (Device)
In This Topic
Gets the collection of the device capabilities.
Syntax
'Declaration

Public ReadOnly Property Capabilities As DeviceCapabilityCollection

public DeviceCapabilityCollection Capabilities { 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 C#/VB.NET code shows how to get information about all pixel types supported by the device.


Public Shared Sub GetPixelTypesInfo()
    Using deviceManager As New Vintasoft.Twain.DeviceManager()
        ' open the device manager
        deviceManager.Open()

        ' get reference to the default 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


public static void GetPixelTypesInfo()
{
    using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
    {
        // open the device manager
        deviceManager.Open();

        // get reference to the default 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();
    }
}

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