diff options
author | Yi Zhang (CLR) <yzha@microsoft.com> | 2016-05-03 23:02:10 -0700 |
---|---|---|
committer | Yi Zhang <yzha@microsoft.com> | 2016-05-16 22:46:58 -0700 |
commit | 8c85c81d4a0cb4d2ba9fd14fdcbce51c9d715e25 (patch) | |
tree | cd1e2006cac6e84025f1d87dabb919debda33b63 /src/vm/dllimport.cpp | |
parent | 97b4ff0b438261ba11b357008630076054a6f25d (diff) | |
download | coreclr-8c85c81d4a0cb4d2ba9fd14fdcbce51c9d715e25.tar.gz coreclr-8c85c81d4a0cb4d2ba9fd14fdcbce51c9d715e25.tar.bz2 coreclr-8c85c81d4a0cb4d2ba9fd14fdcbce51c9d715e25.zip |
Enable DefaultDllImportSearchPathsAttribute in CoreCLR Windows. Host NATIVE_DLL_SEARCH_DIRECTORIES has higher priority.
Diffstat (limited to 'src/vm/dllimport.cpp')
-rw-r--r-- | src/vm/dllimport.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/vm/dllimport.cpp b/src/vm/dllimport.cpp index 9d5d27f69f..574e32a3e4 100644 --- a/src/vm/dllimport.cpp +++ b/src/vm/dllimport.cpp @@ -6563,7 +6563,6 @@ private: DWORD m_priorityOfLastError; }; // class LoadLibErrorTracker - // Local helper function for the LoadLibraryModule function below static HMODULE LocalLoadLibraryHelper( LPCWSTR name, DWORD flags, LoadLibErrorTracker *pErrorTracker ) { @@ -6572,14 +6571,14 @@ static HMODULE LocalLoadLibraryHelper( LPCWSTR name, DWORD flags, LoadLibErrorTr HMODULE hmod = NULL; #ifndef FEATURE_PAL - + if ((flags & 0xFFFFFF00) != 0 #ifndef FEATURE_CORESYSTEM && NDirect::SecureLoadLibrarySupported() #endif // !FEATURE_CORESYSTEM ) { - hmod = CLRLoadLibraryEx( name, NULL, flags & 0xFFFFFF00); + hmod = CLRLoadLibraryEx(name, NULL, flags & 0xFFFFFF00); if(hmod != NULL) { return hmod; @@ -6594,11 +6593,11 @@ static HMODULE LocalLoadLibraryHelper( LPCWSTR name, DWORD flags, LoadLibErrorTr } hmod = CLRLoadLibraryEx(name, NULL, flags & 0xFF); - + #else // !FEATURE_PAL hmod = CLRLoadLibrary(name); #endif // !FEATURE_PAL - + if (hmod == NULL) { pErrorTracker->TrackErrorCode(GetLastError()); @@ -7047,7 +7046,6 @@ HINSTANCE NDirect::LoadLibraryModule(NDirectMethodDesc * pMD, LoadLibErrorTracke bool libNameIsRelativePath = Path::IsRelative(wszLibName); if (hmod == NULL) { -#ifndef FEATURE_CORECLR // First checks if the method has DefaultDllImportSearchPathsAttribute. If method has the attribute // then dllImportSearchPathFlag is set to its value. // Otherwise checks if the assembly has the attribute. @@ -7072,11 +7070,12 @@ HINSTANCE NDirect::LoadLibraryModule(NDirectMethodDesc * pMD, LoadLibErrorTracke } } +#ifndef FEATURE_CORECLR if (!attributeIsFound) { CheckUnificationList(pMD, &dllImportSearchPathFlag, &searchAssemblyDirectory); } -#endif // !FEATURE_CORECLR +#endif if (!libNameIsRelativePath) { |