@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The LoadLibraryEx API !!!!C# Signature: [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hReservedNull, LoadLibraryFlags dwFlags); !!!!VB.NET Signature: <DllImport("kernel32.dll")> _ Private Shared Function LoadLibraryEx(lpFileName As String, hReservedNull As IntPtr, dwFlags As LoadLibraryFlags) As IntPtr End Function !!!!User-Defined Types: LoadLibraryFlags !!!!Notes: None. !!!!Tips & Tricks: If you only want to load resources from the library, specify LoadLibraryFlags.LoadLibraryAsDatafile as dwFlags. In this case, nothing is done to execute or prepare to execute the mapped file. !!!!Sample Code: [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)] private static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hFile, uint dwFlags); private static void LoadWin32Library(string libPath) { System.IntPtr moduleHandle = LoadLibraryEx(libPath, IntPtr.Zero, 0); if (moduleHandle == IntPtr.Zero) throw new Win32Exception(Marshal.GetLastWin32Error()); } '''Safe handle implementation for Libraries''' using System.Runtime.InteropServices; class NativeLibraryHandle : SafeHandle { public NativeLibraryHandle(string filename, LoadLibraryFlags flags) : base(IntPtr.Zero, true) { base.SetHandle(LoadLibraryEx(filename, IntPtr.Zero, flags)); } public override bool IsInvalid { get { return this.handle == IntPtr.Zero; } } protected override bool ReleaseHandle() { return FreeLibrary(this.handle); } [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hReservedNull, LoadLibraryFlags dwFlags); [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool FreeLibrary(IntPtr hModule); } !!!!Alternative Managed API: Do you know one? Please contribute it! Documentation: LoadLibraryEx@msdn on MSDN
Edit kernel32.loadlibr...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.