←Select platform

GetRootItem Method

Summary

Gets the equivalent string for the passed property ID.

Syntax

C#
VB
C++
public object GetRootItem(  
   object item 
) 
Public Function GetRootItem( _ 
   ByVal item As Object _ 
) As Object 
public: 
Object^ GetRootItem(  
   Object^ item 
) 

Parameters

item
Handle to the item which represents the item for which you wish to retrieve its root item. You can retrieve this parameter by either calling the GetRootItem method to get the device's root item itself or by enumerating the child items of the device through a call to EnumChildItems method.

Return Value

The WIA root item handle.

Remarks

Gets the root item for the item passed through the

item*
Handle to the item which represents the item for which you wish to retrieve its root item. You can retrieve this parameter by either calling the GetRootItem method to get the device's root item itself or by enumerating the child items of the device through a call to EnumChildItems method.

Example

C#
VB
Imports Leadtools 
      Imports Leadtools.Codecs 
      Imports Leadtools.Wia 
 
      Dim wiaSession As WiaSession 
      <TestMethod()> _ 
#If Not LEADTOOLS_V19_OR_LATER Then 
      Public Sub GetRootItemExample(ByVal parent As IWin32Window) 
#Else 
      Public Sub GetRootItemExample(ByVal parent As IntPtr) 
#End If ' #If LEADTOOLS_V19_OR_LATER Then 
         If (Not WiaSession.IsAvailable(WiaVersion.Version1)) Then 
            MessageBox.Show("WIA version 1.0 not installed.") 
            Return 
         End If 
         wiaSession = New WiaSession() 
         wiaSession.Startup(WiaVersion.Version1) 
 
         Dim res As DialogResult = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault) 
         If res <> DialogResult.OK Then 
            MessageBox.Show("Error selecting WIA device.") 
            wiaSession.Shutdown() 
            Return 
         End If 
 
         Dim rootItem As Object = wiaSession.GetRootItem(Nothing) 
         If Not rootItem Is Nothing Then 
            AddHandler wiaSession.EnumItemsEvent, AddressOf session_EnumItemsEvent 
 
            wiaSession.EnumChildItems(rootItem) 
 
            RemoveHandler wiaSession.EnumItemsEvent, AddressOf session_EnumItemsEvent 
         End If 
 
         wiaSession.Shutdown() 
      End Sub 
 
      Private Sub session_EnumItemsEvent(ByVal sender As Object, ByVal e As WiaEnumItemsEventArgs) 
         If Not e.Item Is Nothing Then 
            Dim dataTransfer As WiaDataTransferProperties = WiaDataTransferProperties.Empty 
            Dim imageEffects As WiaImageEffectsProperties = WiaImageEffectsProperties.Empty 
 
            Dim properties As WiaProperties = wiaSession.GetProperties(e.Item) 
 
            dataTransfer.ImageDataType = WiaImageDataType.Grayscale 
            imageEffects.Brightness = 250 
 
            properties.DataTransfer = dataTransfer 
            properties.ImageEffects = imageEffects 
            properties.ScanningMode = WiaScanningModeFlags.Feeder   ' set scanning source to Feeder 
            properties.MaximumNumberOfPages = 0                     ' scan all pages in feeder 
            properties.ImageType = WiaImageType.Grayscale 
            properties.Orientation = WiaOrientation.Portrait 
 
            Dim imageResolution As WiaImageResolutionProperties = properties.ImageResolution 
            imageResolution.BitsPerPixel = 8 
            imageResolution.HorizontalResolution = 600 
            imageResolution.VerticalResolution = 600 
            properties.ImageResolution = imageResolution 
 
            AddHandler wiaSession.SetPropertiesEvent, AddressOf session_SetPropertiesEvent 
 
            wiaSession.SetProperties(e.Item, properties) 
 
            RemoveHandler wiaSession.SetPropertiesEvent, AddressOf session_SetPropertiesEvent 
 
            wiaSession.FreeItem(e.Item) 
         End If 
      End Sub 
 
      Private Sub session_SetPropertiesEvent(ByVal sender As Object, ByVal e As WiaSetPropertiesEventArgs) 
         If e.Error <= 0 Then 
            Console.WriteLine("Failed to set the below property:" & Constants.vbLf + Constants.vbTab & "Property Id: {0}" & Constants.vbLf + Constants.vbTab & "Property Value: {1}" & Constants.vbLf + Constants.vbTab & "Error: {2}" & _ 
                  Constants.vbLf + Constants.vbLf, e.PropertyId.ToString(), Convert.ToInt32(e.Value).ToString(), e.Error.ToString()) 
         End If 
      End Sub 
using Leadtools; 
      using Leadtools.Codecs; 
      using Leadtools.Wia; 
 
      WiaSession wiaSession; 
      [TestMethod] 
#if !LEADTOOLS_V19_OR_LATER 
      public void GetRootItemExample(IWin32Window parent) 
#else 
      public void GetRootItemExample(IntPtr parent) 
#endif // #if !LEADTOOLS_V19_OR_LATER 
      { 
         if (!WiaSession.IsAvailable(WiaVersion.Version1)) 
         { 
            MessageBox.Show("WIA version 1.0 not installed."); 
            return; 
         } 
         wiaSession = new WiaSession(); 
         wiaSession.Startup(WiaVersion.Version1); 
 
         DialogResult res = wiaSession.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault); 
         if (res != DialogResult.OK) 
         { 
            MessageBox.Show("Error selecting WIA device."); 
            wiaSession.Shutdown(); 
            return; 
         } 
 
         object rootItem = wiaSession.GetRootItem(null); 
         if (rootItem != null) 
         { 
            wiaSession.EnumItemsEvent += new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent); 
 
            wiaSession.EnumChildItems(rootItem); 
 
            wiaSession.EnumItemsEvent -= new EventHandler<WiaEnumItemsEventArgs>(wiaSession_EnumItemsEvent); 
         } 
 
         wiaSession.Shutdown(); 
      } 
 
      void wiaSession_EnumItemsEvent(object sender, WiaEnumItemsEventArgs e) 
      { 
         if(e.Item != null) 
         { 
            WiaDataTransferProperties dataTransfer = WiaDataTransferProperties.Empty; 
            WiaImageEffectsProperties imageEffects = WiaImageEffectsProperties.Empty; 
 
            WiaProperties properties = wiaSession.GetProperties(e.Item); 
 
            dataTransfer.ImageDataType = WiaImageDataType.Grayscale; 
            imageEffects.Brightness = 250; 
 
            properties.DataTransfer = dataTransfer; 
            properties.ImageEffects = imageEffects; 
            properties.ScanningMode = WiaScanningModeFlags.Feeder;   // set scanning source to Feeder 
            properties.MaximumNumberOfPages = 0;                     // scan all pages in feeder 
            properties.ImageType = WiaImageType.Grayscale; 
            properties.Orientation = WiaOrientation.Portrait; 
 
            WiaImageResolutionProperties imageResolution = properties.ImageResolution; 
            imageResolution.BitsPerPixel = 8; 
            imageResolution.HorizontalResolution = 600; 
            imageResolution.VerticalResolution = 600; 
            properties.ImageResolution = imageResolution; 
 
            wiaSession.SetPropertiesEvent += new EventHandler<WiaSetPropertiesEventArgs>(wiaSession_SetPropertiesEvent); 
 
            wiaSession.SetProperties(e.Item, properties); 
 
            wiaSession.SetPropertiesEvent -= new EventHandler<WiaSetPropertiesEventArgs>(wiaSession_SetPropertiesEvent); 
 
            wiaSession.FreeItem(e.Item); 
         } 
      } 
 
      void wiaSession_SetPropertiesEvent(object sender, WiaSetPropertiesEventArgs e) 
      { 
         if(e.Error <= 0) 
         { 
            Console.WriteLine("Failed to set the below property:\n\tProperty Id: {0}\n\tProperty Value: {1}\n\tError: {2}\n\n", e.PropertyId.ToString(), Convert.ToInt32(e.Value).ToString(), e.Error.ToString()); 
         } 
      } 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Wia Assembly
Click or drag to resize