FSCTL_OPBATCH_ACK_CLOSE_PENDING IOCTL (winioctl.h)
Notifica um servidor de que um aplicativo cliente está pronto para fechar um arquivo. Use essa operação após a notificação de que um bloqueio oportunista em um arquivo está pronto para ser interrompido.
Para executar essa operação, chame a função DeviceIoControl usando os parâmetros a seguir.
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
);
Comentários
Antes de chamar essa função, não faça suposições sobre o número de canais virtuais disponíveis, pois o sistema e outros plug-ins podem ter canais virtuais reservados. Sempre marcar para um código de retorno CHANNEL_RC_TOO_MANY_CHANNELS depois de chamar essa função.
Para obter as implicações de E/S sobreposta nesta operação, consulte a seção Comentários do tópico DeviceIoControl .
Use o código de controle FSCTL_OPBATCH_ACK_CLOSE_PENDING quando for notificado de que um bloqueio oportunista em um arquivo está pronto para ser interrompido e você pretende fechar o arquivo em breve. Esta operação não solicita um novo bloqueio oportunista.
Se você não pretende fechar um arquivo, pode usar o código de controle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE ou FSCTL_OPLOCK_BREAK_ACK_NO_2 para responder à notificação. O primeiro, usado se o bloqueio que está sendo quebrado é um bloqueio oportunista exclusivo, indica que o arquivo deve receber um bloqueio oportunista de nível 2. Este último solicita que o arquivo seja mantido aberto, mas perde todo o bloqueio.
Os aplicativos são notificados de que um bloqueio oportunista é interrompido usando o membro hEvent da estrutura OVERLAPPED associada a um arquivo no qual um bloqueio oportunista é quebrado. Os aplicativos também podem usar funções como GetOverlappedResult e HasOverlappedIoCompleted.
No Windows 8 e no Windows Server 2012, esse código é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | Não |
TFO (Failover transparente) do SMB 3.0 | Não |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | Não |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | winioctl.h (inclua Windows.h) |