LoadLibrary (kernel32)
Last changed: -62.4.65.26

.
Summary
The LoadLibrary API maps the specified DLL file into the address space of the calling process.

C# Signature:

[DllImport("kernel32", SetLastError=true, CharSet = CharSet.Unicode)]
static extern IntPtr LoadLibraryA(string lpFileName);

VB.NET Signature:

<DllImport("kernel32.dll", SetLastError:=True)> _
Public Shared Function LoadLibraryA(ByVal lpFileName As String) As IntPtr
End Function

VB Signature:

Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpFileName As String) As IntPtr

C++ Signature:

[DllImport("KERNEL32.DLL", CharSet=CharSet::Auto, EntryPoint="LoadLibrary")]
static IntPtr LoadLibrary(String^ lpFileName);

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

private void ReadFile(ReadFileCallbackDelegate cb) {
   hExe = LoadLibrary(mFileName);
   if (hExe == IntPtr.Zero) {
     throw new ApplicationException("Cannot open " + mFileName);
   }
   GCHandle gch = GCHandle.Alloc(mFiles); //convert object to handle
   if (EnumResourceNames(hExe, "FILE", cb, (IntPtr)gch) == false) {
     gch.Free();
     throw new ApplicationException("Error reading files in the installer");
   }
   gch.Free();
}

Alternative Managed API:

Do you know one? Please contribute it!

Documentation
LoadLibrary on MSDN