FSCTL_OPLOCK_BREAK_ACKNOWLEDGE código de controle
O código de controle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE responde à notificação de que um bloqueio oportunista (oplock) exclusivo (nível 1, lote ou filtro) em um arquivo foi interrompido.
Um aplicativo cliente envia esse código de controle para indicar que reconhece a quebra de oplock e que, se o oplock for um oplock de nível 1 que foi quebrado para o nível 2, ele deseja o oplock de nível 2.
Para processar esse código de controle, um minifiltro chama FltOplockFsctrl com os parâmetros a seguir. Um sistema de arquivos ou driver de filtro herdado chama FsRtlOplockFsctrl.
Para obter mais informações sobre bloqueio oportunista e sobre o código de controle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE, consulte a documentação do SDK do Microsoft Windows.
Parâmetros
Oplock: ponteiro de objeto oplock oplock para o arquivo.
CallbackData: somente FltOplockFsctrl . Estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) para uma solicitação FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. O parâmetro FsControlCode para a operação deve ser FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.
Irp: somente FsRtlOplockFsctrl . IRP para uma solicitação FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. O parâmetro FsControlCode para a operação deve ser FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.
OpenCount: não usado com esta operação; definido como zero.
Bloco de status
FltOplockFsctrl retorna FLT_PREOP_PENDING para essa operação quando um oplock de nível 1 é quebrado para o nível 2 e o oplock de nível 2 foi concedido. Caso contrário, ele retornará FLT_PREOP_COMPLETE.
FsRtlOplockFsctrl retorna um dos seguintes valores NTSTATUS para esta operação:
Código | Significado |
---|---|
STATUS_SUCCESS | A quebra de oplock é confirmada. Nenhum oplock restante é mantido. |
STATUS_INVALID_OPLOCK_PROTOCOL | Nenhum oplock foi mantido por esse identificador ou a quebra de oplock não está em andamento no momento. Este é um código de erro. |
STATUS_PENDING | A quebra de oplock é confirmada. No retorno, o remetente do código de controle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE mantém um oplock de nível 2. Este é um código de êxito. |
Requisitos
Tipo de Requisito | Requisito |
---|---|
parâmetro | Ntifs.h (inclua Ntifs.h ou Fltkernel.h) |
Confira também
FLT_PARAMETERS para IRP_MJ_FILE_SYSTEM_CONTROL