The event handler receives an argument of type WiaEnumItemsEventArgs containing data related to this event. The following WiaEnumItemsEventArgs properties provide information specific to this event.
| Property | Description |
|---|---|
| Item | Gets the enumerated item. |
| ItemsCount | Gets the count of the items being enumerated. |
| Stop | Enables or disables firing the EnumItemsEvent event. |
This event will be called while enumerating the WIA child items for the parent item passed through the call to the EnumChildItems method to provide the user with a handle for each found child item and also gives the ability to abort the enumeration process.
using Leadtools;using Leadtools.Codecs;using Leadtools.Wia;WiaSession wiaSession;public void GetRootItemExample(IntPtr parent){if (!WiaSession.IsAvailable(WiaVersion.Version1)){Console.WriteLine("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){Console.WriteLine("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 Feederproperties.MaximumNumberOfPages = 0; // scan all pages in feederproperties.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(), e.Value.ToString(), e.Error.ToString());}}