Introduce Marshall.LoadLibrary API (dotnet/coreclr#20871)
authorSwaroop Sridhar <Swaroop.Sridhar@microsoft.com>
Wed, 21 Nov 2018 19:42:01 +0000 (11:42 -0800)
committerGitHub <noreply@github.com>
Wed, 21 Nov 2018 19:42:01 +0000 (11:42 -0800)
commit3cabaf408c40b06fb9e658fb2693374eb58bd198
tree132241398c0976756e3b12813cd61026a6fa06cd
parentd42f6c7a0ff3a18d2495e2527b4ae68825a42e02
Introduce Marshall.LoadLibrary API (dotnet/coreclr#20871)

Implement Native LoadLibrary API

This change commits the following changes:
1) Refactoring DllImport code to reuse LodLibrary by search for
   pInvoke and LoadLibrary cases
2) Implement the new Native Library API in System.Runtime.Interop.Marshall
3) Add tests for the new APIs

Commit migrated from https://github.com/dotnet/coreclr/commit/175ba1c0794958bb7d006544b87e00675de742fc
18 files changed:
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/Marshal.cs
src/coreclr/src/dlls/mscorrc/mscorrc.rc
src/coreclr/src/dlls/mscorrc/resource.h
src/coreclr/src/pal/inc/pal.h
src/coreclr/src/pal/src/include/pal/module.h
src/coreclr/src/pal/src/loader/module.cpp
src/coreclr/src/vm/assemblynative.cpp
src/coreclr/src/vm/dllimport.cpp
src/coreclr/src/vm/dllimport.h
src/coreclr/src/vm/ecalllist.h
src/coreclr/src/vm/marshalnative.cpp
src/coreclr/src/vm/marshalnative.h
src/coreclr/tests/src/Common/CoreCLRTestLibrary/Utilities.cs
src/coreclr/tests/src/Interop/CMakeLists.txt
src/coreclr/tests/src/Interop/MarshalAPI/NativeLibrary/CMakeLists.txt [new file with mode: 0644]
src/coreclr/tests/src/Interop/MarshalAPI/NativeLibrary/NativeLibrary.cpp [new file with mode: 0644]
src/coreclr/tests/src/Interop/MarshalAPI/NativeLibrary/NativeLibraryTests.cs [new file with mode: 0644]
src/coreclr/tests/src/Interop/MarshalAPI/NativeLibrary/NativeLibraryTests.csproj [new file with mode: 0644]