You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This change refactors the code in DllImport in preparation
for implementing the new NativeLibrary API here:
https://github.com/dotnet/corefx/issues/32015
In particular, it introduces a change in the semantics of the
internal LoadLibrary helper functions.
When a native library is loaded, there are two categories of callers
expecting different return values:
* External callers like AssemblyNative::InternalLoadUnmanagedDllFromPath()
and the upcoming System.Runtime.Interop.Marshall.LoadLibrary()
need the raw system handle
* Internal callers like LoadLibraryModule() need the PAL registered handle
This change modifies the internal LoadLibraryModule* methods to work
in terms of native system handles, so that external callers can obrain
them directly. Methods requiring PAL-handles can register them explicitly.
[PS: NDirect::LoadLibraryFromPath was already written to return the
system handle instead of the PAL handle. This change extends
the behavior to other private members.]
There is no change in external signature of DllImport class, or the
native Dll cache in AppDomain class.
0 commit comments