Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 |