Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 likeAssemblyNative::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. There is no change in external signature of DllImport class, or the native Dll cache in AppDomain class.
- Loading branch information