PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE função de retorno de chamada (fltkernel.h)

Um driver de minifiltro pode registrar uma rotina de tipo PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE como a rotina de retorno de chamada CompleteLockCallbackDataRoutine do driver de minifiltro para uma estrutura de FILE_LOCK .

Sintaxe

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE PfltCompleteLockCallbackDataRoutine;

NTSTATUS PfltCompleteLockCallbackDataRoutine(
  [in, optional] PVOID Context,
  [in]           PFLT_CALLBACK_DATA CallbackData
)
{...}

Parâmetros

[in, optional] Context

Ponteiro de contexto que foi passado para FltProcessFileLock.

[in] CallbackData

Ponteiro para a estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) para a operação IRP_MJ_LOCK_CONTROL que está sendo concluída. O tipo de solicitação de bloqueio será um dos seguintes:

IRP_MN_LOCK

IRP_MN_UNLOCK_ALL

IRP_MN_UNLOCK_ALL_BY_KEY

IRP_MN_UNLOCK_SINGLE

Valor retornado

Essa rotina retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado. Se ele retornar um valor NTSTATUS que não é um código de êxito, o bloqueio de arquivo será removido do arquivo.

Comentários

Opcionalmente, um driver de minifiltro pode especificar uma rotina de tipo PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE como a rotina CompleteLockCallbackDataRoutine do driver de minifiltro para um bloqueio de arquivo de intervalo de bytes. Para especificar essa rotina, o driver de minifiltro passa um ponteiro para a rotina como o parâmetro CompleteLockCallbackDataRoutine para FltAllocateFileLock.

Ao concluir uma operação de IRP_MJ_LOCK_CONTROL para o bloqueio de arquivos, o gerenciador de filtros chama essa rotina, se especificada, como uma notificação para o minifiltro.

Requisitos

   
Cliente mínimo com suporte Disponível a partir do Windows XP com SP2 ou Windows Server 2003 com SP1.
Plataforma de Destino Desktop
Cabeçalho fltkernel.h (include Fltkernel.h)
IRQL <=APC_LEVEL

Confira também

FILE_LOCK

FltAllocateFileLock

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE