Спасибо за информацию. Это помогло мне провести исследование.
Я не собираю dll для своего приложения. Я делаю это для существующих приложений, чтобы обеспечить решение межплатформенной независимости Windows.
Я попробовал технику перенаправления dll, которую вы опубликовали, со всеми приложениями.
Хорошо работает со всеми dll, кроме NTdll и User32.dll
User32.dll:
Он загружает user32.dll только из локального пространства, а не из пространства ядра. Я подтвердил это. Но при выполнении его инструкций это приводит к исключению доступа с нулевым адресом (c0000005) с именем модуля ошибки StackHash_5964
Ntdll:
Приложение при загрузке загружает ntdll из system32 и снова загружает ntdll из локального пространства, что может вызвать ошибку, как вы сказали (нарушение общего доступа к глобальным объектам)
Это происходит только для ntdll, а не для user32.dll.
Есть ли способ, которым мы можем один раз загрузить ntdll (только из локального пространства) и избежать ошибок, вызванных user32.dll в локальном пространстве.