VintaSoft Twain .NET SDK 14.1: Руководство для .NET разработчика
В этом разделе
    Как использовать 32-битный TWAIN драйвер в 64-битном приложении?
    В этом разделе
    К сожалению, 32-битный TWAIN драйвер может быть доступен только из 32-битного приложения. Для решения этой проблемы SDK использует 32-битное приложение VintasoftTwainService.exe в качестве моста между 64-битным приложением и 32-битным TWAIN драйвером.


    Важно: VintasoftTwainService.exe необходим только в том случае, если вы хотите работать с 32-битным TWAIN драйвером из 64-битного приложения.

    Свойство Vintasoft.Twain.DeviceManager.VintasoftTwainServiceExePath позволяет получить/установить путь к каталогу, в котором находится служба VintaSoft TWAIN (VintasoftTwainService.exe). По умолчанию VintasoftTwainService.exe должен быть расположен в каталоге приложения.
    Свойство Vintasoft.Twain.DeviceManager.VintasoftTwainServiceDataPath позволяет получить/установить путь к каталогу, в котором должны сохраняться данные службы VintaSoft TWAIN. По умолчанию данные сервиса хранятся в локальном каталоге temp текущего пользователя.

    Вот C#/VB.NET код, который демонстрирует, как использовать 32-битные TWAIN драйверы в 64-битном приложении:
    /// <summary>
    /// Shows a list of 32-bit TWAIN drivers in 64-bit application.
    /// </summary>
    /// <remarks>
    /// This code must be used in 64-bit application.
    /// </remarks>
    void Use32BitTwainDriversIn64BitApplication()
    {
        // create the device manager
        using (Vintasoft.Twain.DeviceManager deviceManager = new Vintasoft.Twain.DeviceManager())
        {
            // specify that TWAIN device manager 2.x must be used
            deviceManager.IsTwain2Compatible = true;
            // specify that 64-bit TWAIN device manager 2.x must use 32-bit devices
            deviceManager.Use32BitDevices();
    
            // open the device manager
            deviceManager.Open();
    
            // show a dialog for selecting 32-bit TWAIN driver
            deviceManager.ShowDefaultDeviceSelectionDialog();
        }
    }
    
    ''' <summary>
    ''' Shows a list of 32-bit TWAIN drivers in 64-bit application.
    ''' </summary>
    ''' <remarks>
    ''' This code must be used in 64-bit application.
    ''' </remarks>
    Private Sub Use32BitTwainDriversIn64BitApplication()
            ' create the device manager
            Using deviceManager As New Vintasoft.Twain.DeviceManager()
                    ' specify that TWAIN device manager 2.x must be used
                    deviceManager.IsTwain2Compatible = True
                    ' specify that 64-bit TWAIN device manager 2.x must use 32-bit devices
                    deviceManager.Use32BitDevices()
    
                    ' open the device manager
                    deviceManager.Open()
    
                    ' show a dialog for selecting 32-bit TWAIN driver
                    deviceManager.ShowDefaultDeviceSelectionDialog()
            End Using
    End Sub