diff --git a/PInvoke/Kernel32/LibLoaderApi.cs b/PInvoke/Kernel32/LibLoaderApi.cs
index 19ea0d88..877c9efc 100644
--- a/PInvoke/Kernel32/LibLoaderApi.cs
+++ b/PInvoke/Kernel32/LibLoaderApi.cs
@@ -2063,6 +2063,44 @@ namespace Vanara.PInvoke
/// The result of the conversion.
public static implicit operator HINSTANCE(SafeHINSTANCE h) => h.handle;
+ /// Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
+ /// The function or variable name.
+ ///
+ /// If the function succeeds, the return value is the address of the exported function or variable.
+ /// If the function fails, an exception with the error is thrown.
+ ///
+ public IntPtr GetProcAddress(string procName) => Win32Error.ThrowLastErrorIfNull(Kernel32.GetProcAddress(handle, procName));
+
+ /// Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
+ /// The function's ordinal value.
+ ///
+ /// If the function succeeds, the return value is the address of the exported function or variable.
+ /// If the function fails, an exception with the error is thrown.
+ ///
+ public IntPtr GetProcAddress(int ordinal) => GetProcAddress($"#{ordinal}");
+
+ /// Retrieves a delegate for an exported function or variable from the specified dynamic-link library (DLL).
+ /// The delegate type to which to convert that function pointer.
+ /// The function or variable name.
+ ///
+ /// If the function succeeds, the return value is the exported function or variable's delegate.
+ /// If the function fails, an exception with the error is thrown.
+ ///
+ public T GetProcAddress(string procName) where T : Delegate
+ {
+ var ptr = Win32Error.ThrowLastErrorIfNull(Kernel32.GetProcAddress(handle, procName));
+ return (T)Marshal.GetDelegateForFunctionPointer(ptr, typeof(T));
+ }
+
+ /// Retrieves a delegate for an exported function or variable from the specified dynamic-link library (DLL).
+ /// The delegate type to which to convert that function pointer.
+ /// The function's ordinal value.
+ ///
+ /// If the function succeeds, the return value is the exported function or variable's delegate.
+ /// If the function fails, an exception with the error is thrown.
+ ///
+ public T GetProcAddress(int ordinal) where T : Delegate => GetProcAddress($"#{ordinal}");
+
///
protected override bool InternalReleaseHandle() => FreeLibrary(this);
}