LoadLibraryEx (kernel32)
Last changed: -216.2.86.11

.
Summary

C# Signature:

[DllImport("kernel32.dll")]
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")]
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 ApplicationException("Failed to load library " + libPath);
}

Alternative Managed API:

Do you know one? Please contribute it!

Documentation