mirror of
https://github.com/soukoku/ntwain.git
synced 2025-07-16 00:58:33 +08:00
Updated xfer group usage in xfer logic.
This commit is contained in:
parent
d7a2bebe2a
commit
afa7a1b3d2
@ -26,14 +26,24 @@ namespace NTwain.Internals
|
|||||||
{
|
{
|
||||||
#region build and raise xfer ready
|
#region build and raise xfer ready
|
||||||
|
|
||||||
TWAudioInfo audInfo;
|
bool xferImage = true; // default to always xfer image
|
||||||
if (session.DGAudio.AudioInfo.Get(out audInfo) != ReturnCode.Success)
|
bool xferAudio = false;
|
||||||
|
DataGroups xferGroup = DataGroups.None;
|
||||||
|
if (session.DGControl.XferGroup.Get(ref xferGroup) == ReturnCode.Success)
|
||||||
|
{
|
||||||
|
xferAudio = (xferGroup & DataGroups.Audio) == DataGroups.Audio;
|
||||||
|
xferImage = xferGroup == DataGroups.None || (xferGroup & DataGroups.Audio) == DataGroups.Audio;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TWAudioInfo audInfo = null;
|
||||||
|
if (xferAudio && session.DGAudio.AudioInfo.Get(out audInfo) != ReturnCode.Success)
|
||||||
{
|
{
|
||||||
audInfo = null;
|
audInfo = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
TWImageInfo imgInfo;
|
TWImageInfo imgInfo = null;
|
||||||
if (session.DGImage.ImageInfo.Get(out imgInfo) != ReturnCode.Success)
|
if (xferImage && session.DGImage.ImageInfo.Get(out imgInfo) != ReturnCode.Success)
|
||||||
{
|
{
|
||||||
imgInfo = null;
|
imgInfo = null;
|
||||||
}
|
}
|
||||||
@ -54,16 +64,9 @@ namespace NTwain.Internals
|
|||||||
{
|
{
|
||||||
if (!preXferArgs.CancelCurrent)
|
if (!preXferArgs.CancelCurrent)
|
||||||
{
|
{
|
||||||
DataGroups xferGroup = DataGroups.None;
|
|
||||||
|
|
||||||
if (session.DGControl.XferGroup.Get(ref xferGroup) != ReturnCode.Success)
|
|
||||||
{
|
|
||||||
xferGroup = DataGroups.None;
|
|
||||||
}
|
|
||||||
|
|
||||||
// some DS end up getting none but we will assume it's image
|
// some DS end up getting none but we will assume it's image
|
||||||
if (xferGroup == DataGroups.None ||
|
if (xferImage)
|
||||||
(xferGroup & DataGroups.Image) == DataGroups.Image)
|
|
||||||
{
|
{
|
||||||
// default to memory
|
// default to memory
|
||||||
var mech = XferMech.Memory;
|
var mech = XferMech.Memory;
|
||||||
@ -92,7 +95,7 @@ namespace NTwain.Internals
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((xferGroup & DataGroups.Audio) == DataGroups.Audio)
|
if (xferAudio)
|
||||||
{
|
{
|
||||||
var mech = session.CurrentSource.CapGetCurrent(CapabilityId.ACapXferMech).ConvertToEnum<XferMech>();
|
var mech = session.CurrentSource.CapGetCurrent(CapabilityId.ACapXferMech).ConvertToEnum<XferMech>();
|
||||||
switch (mech)
|
switch (mech)
|
||||||
|
Loading…
Reference in New Issue
Block a user