summaryrefslogtreecommitdiff
path: root/src/vm/dllimport.cpp
diff options
context:
space:
mode:
authorYi Zhang (CLR) <yzha@microsoft.com>2016-05-03 23:02:10 -0700
committerYi Zhang <yzha@microsoft.com>2016-05-16 22:46:58 -0700
commit8c85c81d4a0cb4d2ba9fd14fdcbce51c9d715e25 (patch)
treecd1e2006cac6e84025f1d87dabb919debda33b63 /src/vm/dllimport.cpp
parent97b4ff0b438261ba11b357008630076054a6f25d (diff)
downloadcoreclr-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.cpp13
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)
{