código de controle FSCTL_REQUEST_OPLOCK_LEVEL_2
O código de controle FSCTL_REQUEST_OPLOCK_LEVEL_2 solicita um bloqueio oportunista de nível 2 (oplock) em um arquivo.
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_REQUEST_OPLOCK_LEVEL_2, 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_REQUEST_OPLOCK_LEVEL_2.
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_REQUEST_OPLOCK_LEVEL_2.
OpenCount: especifica o estado de bloqueio do arquivo. Defina esse parâmetro como um valor ULONG diferente de zero se houver bloqueios de intervalo de bytes no arquivo ou zero caso contrário.
Bloco de status
FltOplockFsctrl retornará FLT_PREOP_PENDING para essa operação se o oplock tiver sido concedido. Caso contrário, ele retornará FLT_PREOP_COMPLETE.
FsRtlOplockFsctrl retorna um dos seguintes valores NTSTATUS para esta operação:
Código | Significado |
---|---|
STATUS_PENDING | O oplock foi concedido. Este é um código de êxito. |
STATUS_CANCELLED | O IRP foi cancelado antes da conclusão da operação de FSCTL_REQUEST_OPLOCK_LEVEL_2. Este é um código de erro. |
STATUS_OPLOCK_NOT_GRANTED | Não foi possível conceder o oplock. Este é um código de erro. |
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
FSCTL_OPBATCH_ACK_CLOSE_PENDING