Função FltProcessFileLock (fltkernel.h)
O FltProcessFileLock processos de rotina e conclui uma operação de bloqueio de arquivo.
Sintaxe
FLT_PREOP_CALLBACK_STATUS FLTAPI FltProcessFileLock(
[in] PFILE_LOCK FileLock,
[in] PFLT_CALLBACK_DATA CallbackData,
[in, optional] PVOID Context
);
Parâmetros
[in] FileLock
Ponteiro para a estrutura FILE_LOCK do arquivo. Essa estrutura deve ter sido inicializada por uma chamada anterior para FltAllocateFileLock ou FltInitializeFileLock.
[in] CallbackData
Ponteiro para a estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) para a operação de IRP_MJ_LOCK_CONTROL.
[in, optional] Context
Ponteiro de contexto a ser usado ao concluir a operação. Esse ponteiro de contexto é passado para as rotinas de retorno de chamada
Valor de retorno
fltProcessFileLock retorna um dos seguintes.
Código de retorno | Descrição |
---|---|
FLT_PREOP_COMPLETE | O Gerenciador de Filtros é feito com o |
FLT_PREOP_DISALLOW_FASTIO | O CallbackData representa uma operação de E/S rápida e um driver de minifiltro na pilha não permitiu que a E/S rápida fosse usada para esta operação. O Gerenciador de Filtros não envia a operação para nenhum drivers de minifiltro abaixo daquele que não permitiu a operação. Nesse caso, o Gerenciador de Filtros chama apenas as rotinas de retorno de chamada de postoperation (e CompleteLockCallbackDataRoutine retornos de chamada) dos drivers de minifiltro acima do driver de minifiltro que não permitiu a operação de E/S rápida. |
FLT_PREOP_PENDING | A operação de bloqueio foi pendente. |
Observações
FltProcessFileLock processa uma operação de bloqueio de arquivo (IRP_MJ_LOCK_CONTROL). A operação de bloqueio pode ser uma operação rápida baseada em E/S ou IRP.
Para operações de desbloqueio, o Gerenciador de Filtros chama a rotina de retorno de chamada do UnlockRoutine que o chamador registrou para a estrutura de FILE_LOCK em uma chamada anterior para FltAllocateFileLock.
Quando a operação de bloqueio é concluída, o Gerenciador de Filtros chama a rotina de retorno de chamada de conclusão CompleteLockCallbackDataRoutine (PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE) que o chamador registrou para a estrutura de FILE_LOCK em uma chamada anterior para FltAllocateFileLock.
Quando o parâmetro
Para determinar se o
Para alocar e inicializar uma nova estrutura de bloqueio de arquivo, chame FltAllocateFileLock.
Para liberar uma estrutura de FILE_LOCK inicializada, chame FltFreeFileLock .
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP com SP2 |
servidor com suporte mínimo | Windows Server 2003 com SP1 |
da Plataforma de Destino |
Universal |
cabeçalho | fltkernel.h (inclua Fltkernel.h) |
biblioteca | FltMgr.lib |
de DLL |
Fltmgr.sys |
IRQL | <= APC_LEVEL |
Consulte também
PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE
[PUNLOCK_ROUTINE](.. /ntifs/nc-ntifs-punlock_routine.md