FSCTL_OPBATCH_ACK_CLOSE_PENDING IOCTL (winioctl.h)

Notifica a un servidor que una aplicación cliente está lista para cerrar un archivo. Use esta operación después de notificar que un bloqueo oportunista en un archivo está listo para romperse.

Para realizar esta operación, llame a la función DeviceIoControl mediante los parámetros siguientes.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                 // handle to file
  FSCTL_OPBATCH_ACK_CLOSE_PENDING,  // dwIoControlCode
  NULL,                             // lpInBuffer
  0,                                // nInBufferSize
  NULL,                             // lpOutBuffer
  0,                                // nOutBufferSize
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

Comentarios

Antes de llamar a esta función no realice suposiciones sobre el número de canales virtuales disponibles, ya que el sistema y otros complementos podrían tener canales virtuales reservados. Compruebe siempre si hay un CHANNEL_RC_TOO_MANY_CHANNELS código devuelto después de llamar a esta función.

Para conocer las implicaciones de la E/S superpuesta en esta operación, consulte la sección Comentarios del tema DeviceIoControl .

Use el código de control FSCTL_OPBATCH_ACK_CLOSE_PENDING cuando se le notifique que un bloqueo oportunista en un archivo está listo para romperse y tiene previsto cerrar el archivo pronto. Esta operación no solicita un nuevo bloqueo oportunista.

Si no tiene previsto cerrar un archivo, puede usar el código de control FSCTL_OPLOCK_BREAK_ACKNOWLEDGE o FSCTL_OPLOCK_BREAK_ACK_NO_2 para responder a la notificación. El primero, utilizado si el bloqueo que se interrumpe es un bloqueo oportunista exclusivo, indica que el archivo debe recibir un bloqueo oportunista de nivel 2 en su lugar. Esta última solicita que el archivo se mantenga abierto, pero pierde todo el bloqueo.

Se notifica a las aplicaciones que un bloqueo oportunista se interrumpe mediante el miembro hEvent de la estructura SUPERPUESTA asociada a un archivo en el que se interrumpe un bloqueo oportunista. Las aplicaciones también pueden usar funciones como GetOverlappedResult y HasOverlappedIoCompleted.

En Windows 8 y Windows Server 2012, este código es compatible con las siguientes tecnologías.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0 No
Conmutación por error transparente (TFO) de SMB 3.0 No
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) No
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS)

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winioctl.h (incluya Windows.h)

Consulte también