mirror of
https://github.com/soukoku/ntwain.git
synced 2025-11-24 08:47:06 +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
|
||||
);
|
||||
|
||||
[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)]
|
||||
public static extern ushort DSM_Entry
|
||||
(
|
||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
||||
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||
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
|
||||
);
|
||||
|
||||
[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)]
|
||||
public static extern ushort DSM_Entry
|
||||
(
|
||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
||||
ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest,
|
||||
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
|
||||
);
|
||||
|
||||
[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)]
|
||||
public static extern ushort DSM_Entry
|
||||
(
|
||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
||||
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||
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
|
||||
);
|
||||
|
||||
[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)]
|
||||
public static extern ushort DSM_Entry
|
||||
(
|
||||
@@ -140,5 +161,12 @@ namespace NTwain.DSM
|
||||
ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest,
|
||||
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>
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Triplets\ImageDATs\" />
|
||||
</ItemGroup>
|
||||
</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;
|
||||
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
|
||||
{
|
||||
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;
|
||||
|
||||
@@ -1,9 +1,17 @@
|
||||
namespace NTwain.Triplets
|
||||
using NTwain.Triplets.AudioDATs;
|
||||
|
||||
namespace NTwain.Triplets
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains triplet calls starting with <see cref="DG.AUDIO"/>.
|
||||
/// </summary>
|
||||
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