Partilhar via


Como solicitar um bloqueio oportunista

Os aplicativos cliente solicitam bloqueios oportunistas diretamente somente quando o bloqueio é destinado a um arquivo no servidor local. Ao acessar arquivos em servidores remotos, é o redirecionador de rede, e não o aplicativo cliente, que solicita o bloqueio oportunista do servidor remoto.

Bloqueios oportunistas são solicitados primeiro abrindo um arquivo com permissões e sinalizadores apropriados para o aplicativo que abre o arquivo. Todos os arquivos para os quais bloqueios oportunistas serão solicitados devem ser abertos para a operação sobreposta (assíncrona). Depois que os arquivos forem abertos para a operação sobreposta, use a função DeviceIoControl com o código de controle apropriado para solicitar um bloqueio oportunista. Para obter uma lista das operações de bloqueio oportunistas, consulte Operações de bloqueio oportunistas.

Os aplicativos são notificados de que um bloqueio oportunista é interrompido usando o membro hEvent da estrutura OVERLAPPED associada ao arquivo. Os aplicativos também podem usar funções como GetOverlappedResult e HasOverlappedIoCompleted. O aplicativo é responsável por associar o arquivo correto ao bloqueio oportunista quebrado.

Para obter mais informações sobre notificação, consulte Sincronização.