Função IoCheckFileObjectOpenedAsCopySource (ntifs.h)

A rotina IoCheckFileObjectOpenedAsCopySource verifica se um arquivo foi aberto anteriormente com intenção de cópia como um arquivo de origem.

Sintaxe

BOOLEAN IoCheckFileObjectOpenedAsCopySource(
  [in] PFILE_OBJECT FileObject
);

Parâmetros

[in] FileObject

Ponteiro para o objeto de arquivo de origem para marcar para a intenção de cópia.

Retornar valor

IoCheckFileObjectOpenedAsCopySource retornará TRUE se o objeto de arquivo representar um arquivo de origem que foi aberto anteriormente com intenção de arquivo de cópia; caso contrário, retornará FALSE. Um valor retornado de TRUE sinaliza apenas a intenção no momento da criação; isso não significa que todas as operações no objeto de arquivo fazem parte das cópias.

Comentários

O exemplo a seguir mostra como marcar se um objeto de arquivo foi aberto com intenção de cópia.


typedef  
BOOLEAN (*PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_SOURCE)( 
    _In_ PFILE_OBJECT FileObject 
); 
typedef  
BOOLEAN (*PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_DESTINATION)( 
    _In_ PFILE_OBJECT FileObject 
); 

PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_SOURCE IoCheckFileObjectOpenedAsCopySource; 
PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_DESTINATION IoCheckFileObjectOpenedAsCopyDestination;

// First resolve the API 
RtlInitUnicodeString(&RoutineName, L"IoCheckFileObjectOpenedAsCopySource"); 
IoCheckFileObjectOpenedAsCopySource = (PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_SOURCE)MmGetSystemRoutineAddress(&RoutineName); 

RtlInitUnicodeString(&RoutineName, L"IoCheckFileObjectOpenedAsCopyDestination"); 
IoCheckFileObjectOpenedAsCopyDestination = (PIO_CHECK_FILE_OBJECT_OPENED_AS_COPY_DESTINATION)MmGetSystemRoutineAddress(&RoutineName); 

// Now use the API 
IoCheckFileObjectOpenedAsCopySource(FltObjects->FileObject); 
IoCheckFileObjectOpenedAsCopyDestination(FltObjects->FileObject);

Consulte Copiar arquivo no modo kernel e detectar cenários de arquivo de cópia para obter mais informações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 22H2
Cabeçalho ntifs.h (inclui Wdm.h, Ntddk.h, Ntifs.h)
IRQL PASSIVE_LEVEL

Confira também

EXTENDED_CREATE_INFORMATION

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile