No se conceden bloqueos de archivo de nivel II cuando un archivo está bloqueado

Seleccione idioma Seleccione idioma
Id. de artículo: 306981 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

No se conceden bloqueos de nivel II para un archivo que ha tenido un intervalo de bloqueado el archivo. Este comportamiento se produce hasta que se haya quitado todas las referencias al archivo, incluidas las referencias del sistema operativo, por ejemplo, la caché de archivo.

Este problema impide que los clientes de red utilizando la información almacenada en caché o lectura anticipada local, puede afectar al rendimiento cuando varios clientes de red intentan detectar datos de archivo.

Para obtener más información acerca de comportamiento de bloqueo operativo, consulte secciones de la Información más y referencias de este artículo.

Causa

Este problema se produce porque la arquitectura de archivo del sistema en los productos enumerados al principio de este artículo no proporcionan un mecanismo para sincronizar los bloqueos de archivo y bloqueos. Como resultado, bloqueos de nivel II no segura concederse para un archivo determinado después de que se ha concedido un bloqueo de archivo para ese archivo.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.

Más información

No puede quitar las restricciones descritas en operación de bloqueo que se pueden otorgar niveles sin alteratering el núcleo del sistema y el Kit de herramientas de sistema de archivos instalable (IFS). Esto requiere redevelopment y reinstalación de todos los sistemas de archivos (NTFS, CDFS, FastFat, UDF y así sucesivamente, incluidos los sistemas de archivos proporcionadas por terceros). El impacto de estos cambios se escapan del ámbito de hotfixes y service packs para los sistemas operativos existentes.

Pasos para reproducir el problema

Los pasos siguientes requieren un servidor basado en Windows 2000 y dos Windows NT o los clientes basados en Windows 2000.
  1. El cliente 1 abre el archivo, solicitar la lectura y escritura y uso compartido. Por ejemplo, este código genera NT_CREATE_ANDX SMB al servidor:
    HANDLE h = CreateFile( "\\server\share\filename.ext",
                           GENERIC_WRITE | GENERIC_READ,
                           FILE_SHARE_WRITE | FILE_SHARE_READ,
                           0, OPEN_EXISTING,
                           FILE_ATTRIBUTE_NORMAL, 0 );
    					
  2. El servidor responde al cliente 1 con NT_CREATE_ANDX SMB con el nivel de operación de bloqueo establecido en "Lotes".
  3. Cliente 2 abre el archivo, solicitar la lectura y escritura y uso compartido.
  4. El servidor envía LOCKING_AND_X SMB al cliente 1, con el indicador de Bloqueo de salto establecido.
  5. El servidor responde al cliente 2 con NT_CREATE_ANDX SMB con el nivel de operación de bloqueo establecido en "II".
  6. 2 El cliente solicita un bloqueo exclusivo con el archivo. Por ejemplo, este código genera LOCKING_ANDX SMB al servidor:
    OVERLAPPED o = { NULL, NULL, 0, 0, NULL };
    LockFileEx( h, LOCKFILE_EXCLUSIVE_LOCK, 0, 0, 0, &o );
    					
  7. El servidor notificará tanto el cliente 1 como el cliente 2 del bloqueo (LOCKING_ANDX SMB).
  8. Cliente 1 cliente 2 y cierran el archivo.
  9. El cliente 1 abre el archivo, solicitar la lectura y escritura y uso compartido.
  10. El servidor responde al cliente 1 con NT_CREATE_ANDX SMB con el nivel de operación de bloqueo establecido en "Lotes".
  11. Cliente 2 abre el archivo, solicitar la lectura y escritura y uso compartido.
  12. El servidor envía LOCKING_AND_X SMB al cliente 1, con el indicador de Bloqueo de salto establecido.
  13. El servidor responde al cliente 2 con NT_CREATE_ANDX SMB con el nivel de operación de bloqueo establecido en "None".

Referencias

Para obtener información adicional acerca de los bloqueos de archivos, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
129202Total de PC: Explicación del bloqueo oportunista en Windows NT

Propiedades

Id. de artículo: 306981 - Última revisión: sábado, 01 de diciembre de 2007 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Service Pack 5 de Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT 4.0 Service Pack 6
  • Service Pack 6.a de Microsoft Windows NT 4.0
Palabras clave: 
kbmt kbfile kbnofix kbprb KB306981 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 306981

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com