diff options
author | danmosemsft <danmose@microsoft.com> | 2017-02-11 07:20:12 -0800 |
---|---|---|
committer | danmosemsft <danmose@microsoft.com> | 2017-02-11 07:20:12 -0800 |
commit | 56d4ba8a9338c3ff7378d18378f38ad847f130f2 (patch) | |
tree | 40b9463880286b1bc0b4c3f858680f1ff210c933 /src/classlibnative | |
parent | 8be2f9bb0039e2c49f59c4fb66cebf5467485ba2 (diff) | |
download | coreclr-56d4ba8a9338c3ff7378d18378f38ad847f130f2.tar.gz coreclr-56d4ba8a9338c3ff7378d18378f38ad847f130f2.tar.bz2 coreclr-56d4ba8a9338c3ff7378d18378f38ad847f130f2.zip |
Revert "Remove always defined FEATURE_CORESYSTEM"
This reverts commit 751771a8976f909af772e35c167bd7e3ffbe44c8.
Diffstat (limited to 'src/classlibnative')
-rw-r--r-- | src/classlibnative/nls/nlsinfo.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/classlibnative/nls/nlsinfo.cpp b/src/classlibnative/nls/nlsinfo.cpp index 4a4c294551..44ed542234 100644 --- a/src/classlibnative/nls/nlsinfo.cpp +++ b/src/classlibnative/nls/nlsinfo.cpp @@ -2065,6 +2065,26 @@ BOOL QCALLTYPE COMNlsInfo::InternalTryFindStringOrdinalIgnoreCase( lpSearchStart = &lpStringSource[sourceIndex]; } { +#ifndef FEATURE_CORESYSTEM + // kernel function pointer + typedef int (WINAPI *PFNFindStringOrdinal)(DWORD, LPCWSTR, INT, LPCWSTR, INT, BOOL); + static PFNFindStringOrdinal FindStringOrdinal = NULL; + + // initizalize kernel32!FindStringOrdinal + if (FindStringOrdinal == NULL) + { + PFNFindStringOrdinal result = NULL; + + HMODULE hMod=WszGetModuleHandle(WINDOWS_KERNEL32_DLLNAME_W); + if(hMod != NULL) + result=(PFNFindStringOrdinal)GetProcAddress(hMod,"FindStringOrdinal"); + + FindStringOrdinal = (result != NULL) ? result : (PFNFindStringOrdinal)-1; + } + + // call into the kernel + if (FindStringOrdinal != (PFNFindStringOrdinal)-1) +#endif { *foundIndex = FindStringOrdinal( dwFindNLSStringFlags, |