Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera obejście problemu, w którym aplikacje zawieszają się podczas próby uzyskania dostępu do tego samego pliku na dysku sieciowym w systemie Windows.
Dotyczy systemu: Windows 10 (wszystkie wersje)
Oryginalny numer KB: 4039810
Symptomy
Rozważmy następujący scenariusz:
- Folder udziału można utworzyć na serwerze, a następnie dodać plik do folderu.
- Na kliencie z systemem Windows 10, Windows 8.1 lub Windows 7 należy zainstalować folder udostępniony jako dysk sieciowy.
- Instalujesz oprogramowanie zabezpieczające innej firmy, które zawiera sterownik minifiltru systemu plików skojarzony z aplikacją.
- Minifiltr jest dołączony zarówno do dysku lokalnego, który przechowuje ścieżkę %SystemRoot% (na przykład dysk C) i dysk sieciowy dla utworzonego folderu udostępnionego.
- Minifiltr wysyła komunikat (przy użyciu funkcji FltSendMessage ), który zawiera nazwę pliku na dysku sieciowym do aplikacji.
- Aplikacja próbuje otworzyć plik przy użyciu odbieranych nazw plików.
- Inna aplikacja na tym samym komputerze, który nie jest skojarzony z minifiltrem, próbuje otworzyć ten sam plik na dysku sieciowym w tym samym czasie.
W tym scenariuszu obie aplikacje zawieszają się.
Przyczyna
Ten problem występuje z powodu blokady zasobów przechowywanej przez sterownik buforowania po stronie klienta systemu Windows (Csc.sys). W przypadku wystąpienia tego problemu Csc.sys pobiera blokadę zasobu w pliku, a następnie żąda sterownika, który znajduje się powyżej w stosie sterowników, aby otworzyć plik. Dzięki temu wszystkie aplikacje, które próbują uzyskać dostęp do pliku oczekiwania. Dzięki temu wątek minifiltru czeka na odpowiedź skojarzonej aplikacji.
Rozwiązanie
Jeśli ten problem już wystąpił, uruchom ponownie klienta.
Aby uniknąć tego problemu, wyłącz pliki trybu offline przy użyciu Edytora lokalnych zasad grupy (gpedit.msc). W tym celu należy użyć ustawienia Zasad grupy Zezwalaj lub nie zezwalaj na korzystanie z funkcji Pliki trybu offline w obszarze Konfiguracja komputera\Szablony administracyjne\Sieć\Pliki offline.
Uwaga 16.
Jeśli musisz używać plików trybu offline, nie ma obejścia problemu.
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych na początku artykułu.
Więcej informacji
Zazwyczaj jest to zły pomysł, aby przechowywać blokady między wywołaniami systemu plików. Przyczyna tego rozwiązania jest udokumentowana w następującym artykule na blogu dla deweloperów:
Wystawianie operacji we/wy w minifiltrach: część 1 — FltCreateFile
Aby zidentyfikować minifiltr dołączony do wielu dysków zgodnie z opisem w sekcji "Objawy", uruchom następujące polecenia w wierszu polecenia administracyjnego:
fltmc instances -v C:
fltmc instances -v \Device\Mup