Udostępnij za pośrednictwem


Funkcja LoadLibrary zwraca błąd STATUS_DLL_NOT_FOUND podczas personifikacji wątku w systemie Windows

Ten artykuł zawiera obejście problemu polegającego na tym, że funkcja LoadLibrary zwraca błąd STATUS_DLL_NOT_FOUND w wątku personifikacji w systemie Windows.

Dotyczy: Windows Server 2019, Windows Server 2016, Windows 10 — wszystkie wersje
Oryginalny numer KB: 4015510

Symptomy

W systemach Windows 10 i Windows Server w wersji 1709 lub nowszej, jeśli nie przyznasz dostępu biblioteki linku dynamicznego (DLL) do samego tokenu procesu, gdy używasz funkcji LoadLibrary do ładowania biblioteki DLL, zostanie wyświetlony komunikat o błędzie "STATUS_DLL_NOT_FOUND" w przypadku personifikacji wątków.

Przyczyna

Uwaga 16.

To zachowanie jest zgodnie z projektem w systemie Windows.

To zachowanie występuje z następujących powodów:

  • Zakłada się, że wszystkie systemy operacyjne z systemem Windows mają prawa dostępu do biblioteki DLL, do której odwołuje się token procesu.
  • Niezależnie od warunku opisanego w poprzednim punkcie punktor, ten problem jest bardziej oczywisty w systemie Windows 10, Windows Server 2016, Windows Server 2019 i Windows Server, wersja 1909 niż we wcześniejszych wersjach systemu Windows.

Rozwiązanie

Aby obejść ten problem, upewnij się, że tokeny procesu mają prawa dostępu do wszystkich plików wykonywalnych ładowanych przez proces.

Stan

Firma Microsoft potwierdziła, że jest to usterka występująca w produktach firmy Microsoft wymienionych w części "Ma zastosowanie do:".

Zbieranie danych

Jeśli potrzebujesz pomocy ze strony pomocy technicznej firmy Microsoft, zalecamy zebranie informacji, wykonując kroki wymienione w artykule Zbieranie informacji przy użyciu zestawu narzędzi TSS w przypadku problemów związanych z wdrożeniem.