O Redirecionador do Windows Pode Cancelar uma Sessão Durante uma Longa Operação de Bloqueio

O suporte para o Windows XP terminou

A Microsoft terminou o suporte para o Windows XP em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
O redirecionador do Windows pode cancelar uma sessão incorretamente durante operações de bloq ueio de longa duração. Esse problema pode ocorrer na seguinte situação:
  • O cliente A bloqueia um arquivo no servidor de arquivo.
  • O client B também tenta bloquear o mesmo arquivo chamando a função LockFileEx(hFile,LOCKFILE_EXCLUSIVE_LOCK,...).
  • O servidor de arquivo nunca retorna a chamada SMB para o cliente B porque o cliente A ainda mantém o arquivo bloqueado.
  • O redirecionador do cliente B esgota o tempo e desconecta a sessão. (O período de tempo de espera é controlado pela configuração de registro Sesstimeout.)
Causa
Se o flag LOCKFILE_FAIL_IMMEDIATELY na função LockFileEx não estiver configurado, o servidor retorna somente quando o arquivo for bloqueado com êxito. Isto é original do projeto. Se isto levar mais do que o tempo de espera de sessão do lado cliente, o redirecionador do cliente cancela a conexão.
Resolução

Windows 2000

Para resolver este problema, obtenha o mais atual service pack do Windows 2000. Para obter informações adicionais, clique no seguinte número para ver o artigo na Base de Dados de Conhecimento da Microsoft:
260910 How to Obtain the Latest Windows 2000 Service Pack
A versão em inglês desta correção deverá ter os seguintes atributos de arquivo ou posteriores:
   Data         Hora   Versão       Tamanho     Nome do arquivo   ---------------------------------------------------------   11-Mar-2002  13:14:40  5.0.2195.5059  370.480  Mrxsmb.sys   07-Mar-2002  13:16:30  5.0.2195.5042  131.920  Rdbss.sys 				

A correção é para tratar o comando SMB Lock & X como um SMB de longa duração. Isto faz o comando ficar isento do cronômetro Sesstimeout. O redirecionador espera o tempo que precisar.

Windows XP

Para resolver esse problema, obtenha o service pack mais recente para o Windows XP. Para obter informações adicionais, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
322389 How to Obtain the Latest Windows XP Service Pack
Como Contornar
Para contornar este problema, use LockFileEx(,,LOCKFILE_FAIL_IMMEDIATELY) no lugar de LOCKFILE_EXCLUSIVE_LOCK. O flag LOCKFILE_FAIL_IMMEDIATELY retorna com um erro apropriado se o arquivo já estiver em uso. Este programa pode tentar bloquear programaticamente o arquivo novamente.
Situação
A Microsoft confirmou que isso é um problema nos produtos Microsoft que estão listados no começo deste artigo. Este problema foi corrigido primeiro no Microsoft Windows 2000 Service Pack 3 (SP3) e no Microsoft Windows XP Service Pack 1 (SP1).
Mais Informações
Para obter informações adicionais sobre como obter uma hotfix para o Windows 2000 Datacenter Server, clique no número abaixo para visualizar o arquivo na Base de Dados de Conhecimento da Microsoft:
265173 The Datacenter Program and Windows 2000 Datacenter Server Product
Para obter mais informações sobre como instalar diversas hotfixes com apenas uma reinicialização, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot
kbBaseOS
Propriedades

ID do Artigo: 320310 - Última Revisão: 01/17/2015 15:17:32 - Revisão: 3.0

Microsoft Windows 2000 Service Pack 1, Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Service Pack 1, Microsoft Windows 2000 Service Pack 2, Microsoft Windows XP Professional Edition

  • kbnosurvey kbarchive kbbug kbfix kbwin2000presp3fix kbqfe kbwin2000sp3fix kboswin2000fix kbwinxpsp1fix kbhotfixserver KB320310
Comentários