diff options
Diffstat (limited to 'src/dtf/WixToolset.Dtf.Resources/NativeMethods.cs')
| -rw-r--r-- | src/dtf/WixToolset.Dtf.Resources/NativeMethods.cs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/dtf/WixToolset.Dtf.Resources/NativeMethods.cs b/src/dtf/WixToolset.Dtf.Resources/NativeMethods.cs new file mode 100644 index 00000000..bf1bd1dc --- /dev/null +++ b/src/dtf/WixToolset.Dtf.Resources/NativeMethods.cs | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
| 2 | |||
| 3 | namespace WixToolset.Dtf.Resources | ||
| 4 | { | ||
| 5 | using System; | ||
| 6 | using System.IO; | ||
| 7 | using System.Text; | ||
| 8 | using System.Reflection; | ||
| 9 | using System.Collections; | ||
| 10 | using System.Globalization; | ||
| 11 | using System.Runtime.InteropServices; | ||
| 12 | |||
| 13 | internal static class NativeMethods | ||
| 14 | { | ||
| 15 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] | ||
| 16 | internal static extern IntPtr LoadLibraryEx(string fileName, IntPtr hFile, uint flags); | ||
| 17 | internal const uint LOAD_LIBRARY_AS_DATAFILE = 2; | ||
| 18 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 19 | internal static extern bool FreeLibrary(IntPtr module); | ||
| 20 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 21 | internal static extern bool EnumResourceTypes(IntPtr module, EnumResTypesProc enumFunc, IntPtr param); | ||
| 22 | [return: MarshalAs(UnmanagedType.Bool)] | ||
| 23 | internal delegate bool EnumResTypesProc(IntPtr module, IntPtr type, IntPtr param); | ||
| 24 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 25 | internal static extern bool EnumResourceNames(IntPtr module, IntPtr type, EnumResNamesProc enumFunc, IntPtr param); | ||
| 26 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 27 | internal static extern bool EnumResourceNames(IntPtr module, string type, EnumResNamesProc enumFunc, IntPtr param); | ||
| 28 | [return: MarshalAs(UnmanagedType.Bool)] | ||
| 29 | internal delegate bool EnumResNamesProc(IntPtr module, IntPtr type, IntPtr name, IntPtr param); | ||
| 30 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 31 | internal static extern bool EnumResourceLanguages(IntPtr module, IntPtr type, IntPtr name, EnumResLangsProc enumFunc, IntPtr param); | ||
| 32 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 33 | internal static extern bool EnumResourceLanguages(IntPtr module, string type, string name, EnumResLangsProc enumFunc, IntPtr param); | ||
| 34 | [return: MarshalAs(UnmanagedType.Bool)] | ||
| 35 | internal delegate bool EnumResLangsProc(IntPtr module, IntPtr type, IntPtr name, ushort langId, IntPtr param); | ||
| 36 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] | ||
| 37 | internal static extern IntPtr FindResourceEx(IntPtr module, string type, string name, ushort langId); | ||
| 38 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] | ||
| 39 | internal static extern IntPtr LoadResource(IntPtr module, IntPtr resourceInfo); | ||
| 40 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] | ||
| 41 | internal static extern IntPtr LockResource(IntPtr resourceData); | ||
| 42 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] | ||
| 43 | internal static extern uint SizeofResource(IntPtr module, IntPtr resourceInfo); | ||
| 44 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] | ||
| 45 | internal static extern IntPtr BeginUpdateResource(string fileName, [MarshalAs(UnmanagedType.Bool)] bool deleteExistingResources); | ||
| 46 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 47 | internal static extern bool UpdateResource(IntPtr updateHandle, IntPtr type, IntPtr name, ushort lcid, IntPtr data, uint dataSize); | ||
| 48 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)][return: MarshalAs(UnmanagedType.Bool)] | ||
| 49 | internal static extern bool UpdateResource(IntPtr updateHandle, IntPtr type, string name, ushort lcid, IntPtr data, uint dataSize); | ||
| 50 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 51 | internal static extern bool UpdateResource(IntPtr updateHandle, string type, string name, ushort lcid, IntPtr data, uint dataSize); | ||
| 52 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] | ||
| 53 | internal static extern bool EndUpdateResource(IntPtr updateHandle, [MarshalAs(UnmanagedType.Bool)] bool discardChanges); | ||
| 54 | } | ||
| 55 | } | ||
