EnumFormats Method
Summary
Enumerates all of the available WIA driver transfer formats.
Syntax
Parameters
item
Handle to the item having its supported transfer formats enumerated. 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
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Wia
<TestMethod()> _
#If Not LEADTOOLS_V19_OR_LATER Then
Public Sub EnumFormatsExample(ByVal parent As IWin32Window)
#Else
Public Sub EnumFormatsExample(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
Dim session As WiaSession = New WiaSession()
session.Startup(WiaVersion.Version1)
Dim res As DialogResult = session.SelectDeviceDlg(parent, WiaDeviceType.Default, WiaSelectSourceFlags.NoDefault)
If res <> DialogResult.OK Then
MessageBox.Show("Error selecting WIA device.")
session.Shutdown()
Return
End If
AddHandler session.EnumFormatsEvent, AddressOf session_EnumFormatsEvent
Dim rootItem As Object = session.GetRootItem(Nothing)
If Not rootItem Is Nothing Then
session.EnumFormats(rootItem, WiaEnumFormatsFlags.None)
End If
RemoveHandler session.EnumFormatsEvent, AddressOf session_EnumFormatsEvent
session.Shutdown()
End Sub
Private Sub session_EnumFormatsEvent(ByVal sender As Object, ByVal e As WiaEnumFormatsEventArgs)
Dim strMsg As String = String.Empty
strMsg = String.Format("WIA Formats count = {0}" & Constants.vbLf, e.FormatsCount)
Console.WriteLine(strMsg)
' print out which formats were received into the console window.
If e.FormatsCount > 0 Then
Dim formatGuid As Guid = wiaSession.GetFormatGuid(e.Format)
strMsg = String.Format("WIA Format: {0}" & Constants.vbLf & "WIA Format Transfer Mode: {1}" & Constants.vbLf & "WIA Format Guid: " & Constants.vbLf + Constants.vbLf, e.Format.ToString(), e.TransferMode.ToString(), formatGuid)
Console.WriteLine(strMsg)
End If
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Wia;
[TestMethod]
#if !LEADTOOLS_V19_OR_LATER
public void EnumFormatsExample(IWin32Window parent)
#else
public void EnumFormatsExample(IntPtr parent)
#endif // #if !LEADTOOLS_V19_OR_LATER
{
if (!WiaSession.IsAvailable(WiaVersion.Version1))
{
MessageBox.Show("WIA version 1.0 not installed.");
return;
}
WiaSession 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;
}
wiaSession.EnumFormatsEvent += new EventHandler<WiaEnumFormatsEventArgs>(wiaSession_EnumFormatsEvent);
object rootItem = wiaSession.GetRootItem(null);
if (rootItem != null)
{
wiaSession.EnumFormats(rootItem, WiaEnumFormatsFlags.None);
}
wiaSession.EnumFormatsEvent -= new EventHandler<WiaEnumFormatsEventArgs>(wiaSession_EnumFormatsEvent);
wiaSession.Shutdown();
}
void wiaSession_EnumFormatsEvent(object sender, WiaEnumFormatsEventArgs e)
{
string strMsg = string.Empty;
strMsg = string.Format("WIA Formats count = {0}\n", e.FormatsCount);
Console.WriteLine(strMsg);
// print out the received formats into the console window.
if (e.FormatsCount > 0)
{
Guid formatGuid = WiaSession.GetFormatGuid(e.Format);
strMsg = string.Format("WIA Format: {0}\nWIA Format Transfer Mode: {1}\nWIA Format Guid: \n\n", e.Format.ToString(), e.TransferMode.ToString(), formatGuid);
Console.WriteLine(strMsg);
}
}