/// <summary> /// Load a library into memory. /// </summary> /// <param name="name">The path to the library.</param> /// <param name="flags">Additonal flags to pass to LoadLibraryEx</param> /// <returns></returns> public static SafeLoadLibraryHandle LoadLibrary(string name, LoadLibraryFlags flags) { SafeLoadLibraryHandle ret = Win32NativeMethods.LoadLibraryEx(name, IntPtr.Zero, flags); if (ret.IsInvalid) { throw new SafeWin32Exception(); } return(ret); }
/// <summary> /// Load a library into memory. /// </summary> /// <param name="name">The path to the library.</param> /// <param name="flags">Additonal flags to pass to LoadLibraryEx</param> /// <param name="throw_on_error">True to throw on error.</param> /// <returns>Handle to the loaded library.</returns> public static NtResult <SafeLoadLibraryHandle> LoadLibrary(string name, LoadLibraryFlags flags, bool throw_on_error) { SafeLoadLibraryHandle ret = Win32NativeMethods.LoadLibraryEx(name, IntPtr.Zero, flags); if (ret.IsInvalid) { if (throw_on_error) { throw new SafeWin32Exception(); } return(Win32Utils.GetLastWin32Error().CreateResultFromDosError <SafeLoadLibraryHandle>(false)); } return(ret.CreateResult()); }