Files
Rasta Mouse 02752a5541 Refactor
Uplift to C#12 and improve overall code quality
2024-06-01 17:44:22 +01:00

42 lines
1.4 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace ThreatCheck;
internal static class NativeMethods
{
[DllImport("amsi.dll", EntryPoint = "AmsiInitialize", CallingConvention = CallingConvention.StdCall)]
public static extern int AmsiInitialize(
[MarshalAs(UnmanagedType.LPWStr)] string appName,
out IntPtr amsiContext);
[DllImport("amsi.dll", EntryPoint = "AmsiOpenSession", CallingConvention = CallingConvention.StdCall)]
public static extern int AmsiOpenSession(
IntPtr amsiContext,
out IntPtr session);
[DllImport("amsi.dll", EntryPoint = "AmsiCloseSession", CallingConvention = CallingConvention.StdCall)]
public static extern void AmsiCloseSession(
IntPtr amsiContext,
IntPtr session);
[DllImport("amsi.dll", EntryPoint = "AmsiUninitialize", CallingConvention = CallingConvention.StdCall)]
public static extern void AmsiUninitialize(
IntPtr amsiContext);
[DllImport("amsi.dll", EntryPoint = "AmsiScanBuffer", CallingConvention = CallingConvention.StdCall)]
public static extern int AmsiScanBuffer(
IntPtr amsiContext,
byte[] buffer,
uint length,
[MarshalAs(UnmanagedType.LPWStr)] string contentName,
IntPtr session,
out AmsiResult result);
public enum AmsiResult
{
AmsiResultClean = 0,
AmsiResultNotDetected = 1,
AmsiResultDetected = 32768
}
}