mirror of
https://github.com/soukoku/ntwain.git
synced 2026-02-25 13:04:07 +08:00
Added audio triplets.
This commit is contained in:
@@ -18,6 +18,27 @@ namespace NTwain.DSM
|
|||||||
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, IntPtr dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref IntPtr mem
|
||||||
|
);
|
||||||
|
|
||||||
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
public static extern ushort DSM_Entry
|
public static extern ushort DSM_Entry
|
||||||
(
|
(
|
||||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
|||||||
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,27 @@ namespace NTwain.DSM
|
|||||||
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, IntPtr dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref IntPtr mem
|
||||||
|
);
|
||||||
|
|
||||||
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
public static extern ushort DSM_Entry
|
public static extern ushort DSM_Entry
|
||||||
(
|
(
|
||||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
|||||||
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,27 @@ namespace NTwain.DSM
|
|||||||
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, IntPtr dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref IntPtr mem
|
||||||
|
);
|
||||||
|
|
||||||
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
public static extern ushort DSM_Entry
|
public static extern ushort DSM_Entry
|
||||||
(
|
(
|
||||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
|||||||
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,27 @@ namespace NTwain.DSM
|
|||||||
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
DG dg, DAT dat, MSG msg, ref IntPtr hwnd
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, IntPtr dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
|
DG dg, DAT dat, MSG msg, IntPtr zero
|
||||||
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref IntPtr mem
|
||||||
|
);
|
||||||
|
|
||||||
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
public static extern ushort DSM_Entry
|
public static extern ushort DSM_Entry
|
||||||
(
|
(
|
||||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
|||||||
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
[DllImport(DsmName, CharSet = CharSet.Ansi)]
|
||||||
|
public static extern ushort DSM_Entry
|
||||||
|
(
|
||||||
|
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||||
|
DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,4 +15,8 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
|
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Triplets\ImageDATs\" />
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
45
src/NTwain/Triplets/AudioDATs/AudioFileXfer.cs
Normal file
45
src/NTwain/Triplets/AudioDATs/AudioFileXfer.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using NTwain.Data;
|
||||||
|
using NTwain.DSM;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace NTwain.Triplets.AudioDATs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Contains calls used with <see cref="DG.AUDIO"/> and <see cref="DAT.AUDIOFILEXFER"/>.
|
||||||
|
/// </summary>
|
||||||
|
public class AudioFileXfer
|
||||||
|
{
|
||||||
|
public STS Get(ref TW_IDENTITY_LEGACY app, ref TW_IDENTITY_LEGACY ds)
|
||||||
|
=> DoIt(ref app, ref ds, MSG.GET);
|
||||||
|
|
||||||
|
static STS DoIt(ref TW_IDENTITY_LEGACY app, ref TW_IDENTITY_LEGACY ds, MSG msg)
|
||||||
|
{
|
||||||
|
var rc = STS.FAILURE;
|
||||||
|
if (TwainPlatform.IsWindows)
|
||||||
|
{
|
||||||
|
if (TwainPlatform.Is32bit && TwainPlatform.PreferLegacyDSM)
|
||||||
|
{
|
||||||
|
rc = (STS)WinLegacyDSM.DSM_Entry(ref app, ref ds, DG.AUDIO, DAT.AUDIOFILEXFER, msg, IntPtr.Zero);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = (STS)WinNewDSM.DSM_Entry(ref app, ref ds, DG.AUDIO, DAT.AUDIOFILEXFER, msg, IntPtr.Zero);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (TwainPlatform.IsMacOSX)
|
||||||
|
{
|
||||||
|
TW_IDENTITY_MACOSX app2 = app;
|
||||||
|
TW_IDENTITY_MACOSX ds2 = ds;
|
||||||
|
if (TwainPlatform.PreferLegacyDSM)
|
||||||
|
{
|
||||||
|
rc = (STS)OSXLegacyDSM.DSM_Entry(ref app2, ref ds2, DG.AUDIO, DAT.AUDIOFILEXFER, msg, IntPtr.Zero);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = (STS)OSXNewDSM.DSM_Entry(ref app2, ref ds2, DG.AUDIO, DAT.AUDIOFILEXFER, msg, IntPtr.Zero);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
45
src/NTwain/Triplets/AudioDATs/AudioInfo.cs
Normal file
45
src/NTwain/Triplets/AudioDATs/AudioInfo.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using NTwain.Data;
|
||||||
|
using NTwain.DSM;
|
||||||
|
|
||||||
|
namespace NTwain.Triplets.AudioDATs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Contains calls used with <see cref="DG.AUDIO"/> and <see cref="DAT.AUDIOINFO"/>.
|
||||||
|
/// </summary>
|
||||||
|
public class AudioInfo
|
||||||
|
{
|
||||||
|
public STS Get(ref TW_IDENTITY_LEGACY app, ref TW_IDENTITY_LEGACY ds, out TW_AUDIOINFO data)
|
||||||
|
=> DoIt(ref app, ref ds, MSG.GET, out data);
|
||||||
|
|
||||||
|
static STS DoIt(ref TW_IDENTITY_LEGACY app, ref TW_IDENTITY_LEGACY ds, MSG msg, out TW_AUDIOINFO data)
|
||||||
|
{
|
||||||
|
data = default;
|
||||||
|
var rc = STS.FAILURE;
|
||||||
|
if (TwainPlatform.IsWindows)
|
||||||
|
{
|
||||||
|
if (TwainPlatform.Is32bit && TwainPlatform.PreferLegacyDSM)
|
||||||
|
{
|
||||||
|
rc = (STS)WinLegacyDSM.DSM_Entry(ref app, ref ds, DG.AUDIO, DAT.AUDIOINFO, msg, ref data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = (STS)WinNewDSM.DSM_Entry(ref app, ref ds, DG.AUDIO, DAT.AUDIOINFO, msg, ref data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (TwainPlatform.IsMacOSX)
|
||||||
|
{
|
||||||
|
TW_IDENTITY_MACOSX app2 = app;
|
||||||
|
TW_IDENTITY_MACOSX ds2 = ds;
|
||||||
|
if (TwainPlatform.PreferLegacyDSM)
|
||||||
|
{
|
||||||
|
rc = (STS)OSXLegacyDSM.DSM_Entry(ref app2, ref ds2, DG.AUDIO, DAT.AUDIOINFO, msg, ref data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = (STS)OSXNewDSM.DSM_Entry(ref app2, ref ds2, DG.AUDIO, DAT.AUDIOINFO, msg, ref data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/NTwain/Triplets/AudioDATs/AudioNativeXfer.cs
Normal file
46
src/NTwain/Triplets/AudioDATs/AudioNativeXfer.cs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
using NTwain.Data;
|
||||||
|
using NTwain.DSM;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace NTwain.Triplets.AudioDATs
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Contains calls used with <see cref="DG.AUDIO"/> and <see cref="DAT.AUDIONATIVEXFER"/>.
|
||||||
|
/// </summary>
|
||||||
|
public class AudioNativeXfer
|
||||||
|
{
|
||||||
|
public STS Get(ref TW_IDENTITY_LEGACY app, ref TW_IDENTITY_LEGACY ds, out IntPtr data)
|
||||||
|
=> DoIt(ref app, ref ds, MSG.GET, out data);
|
||||||
|
|
||||||
|
static STS DoIt(ref TW_IDENTITY_LEGACY app, ref TW_IDENTITY_LEGACY ds, MSG msg, out IntPtr data)
|
||||||
|
{
|
||||||
|
data = default;
|
||||||
|
var rc = STS.FAILURE;
|
||||||
|
if (TwainPlatform.IsWindows)
|
||||||
|
{
|
||||||
|
if (TwainPlatform.Is32bit && TwainPlatform.PreferLegacyDSM)
|
||||||
|
{
|
||||||
|
rc = (STS)WinLegacyDSM.DSM_Entry(ref app, ref ds, DG.AUDIO, DAT.AUDIONATIVEXFER, msg, ref data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = (STS)WinNewDSM.DSM_Entry(ref app, ref ds, DG.AUDIO, DAT.AUDIONATIVEXFER, msg, ref data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (TwainPlatform.IsMacOSX)
|
||||||
|
{
|
||||||
|
TW_IDENTITY_MACOSX app2 = app;
|
||||||
|
TW_IDENTITY_MACOSX ds2 = ds;
|
||||||
|
if (TwainPlatform.PreferLegacyDSM)
|
||||||
|
{
|
||||||
|
rc = (STS)OSXLegacyDSM.DSM_Entry(ref app2, ref ds2, DG.AUDIO, DAT.AUDIONATIVEXFER, msg, ref data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = (STS)OSXNewDSM.DSM_Entry(ref app2, ref ds2, DG.AUDIO, DAT.AUDIONATIVEXFER, msg, ref data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -52,11 +52,11 @@ namespace NTwain.Triplets.ControlDATs
|
|||||||
TW_IDENTITY_MACOSX app2 = app;
|
TW_IDENTITY_MACOSX app2 = app;
|
||||||
if (TwainPlatform.PreferLegacyDSM)
|
if (TwainPlatform.PreferLegacyDSM)
|
||||||
{
|
{
|
||||||
rc = (STS)OSXLegacyDSM.DSM_Entry(ref app2, IntPtr.Zero, DG.CONTROL, DAT.PARENT, msg, ref hwnd);
|
rc = (STS)OSXLegacyDSM.DSM_Entry(ref app2, IntPtr.Zero, DG.CONTROL, DAT.PARENT, msg, hwnd);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rc = (STS)OSXNewDSM.DSM_Entry(ref app2, IntPtr.Zero, DG.CONTROL, DAT.PARENT, msg, ref hwnd);
|
rc = (STS)OSXNewDSM.DSM_Entry(ref app2, IntPtr.Zero, DG.CONTROL, DAT.PARENT, msg, hwnd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
namespace NTwain.Triplets
|
using NTwain.Triplets.AudioDATs;
|
||||||
|
|
||||||
|
namespace NTwain.Triplets
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains triplet calls starting with <see cref="DG.AUDIO"/>.
|
/// Contains triplet calls starting with <see cref="DG.AUDIO"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static class DGAudio
|
public static class DGAudio
|
||||||
{
|
{
|
||||||
|
public static readonly AudioFileXfer AudioFileXfer = new();
|
||||||
|
|
||||||
|
public static readonly AudioInfo AudioInfo = new();
|
||||||
|
|
||||||
|
public static readonly AudioNativeXfer AudioNativeXfer = new();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user