Função IoCheckFileObjectOpenedAsCopySource (ntifs.h)
A rotina IoCheckFileObjectOpenedAsCopySource verifica se um arquivo foi aberto anteriormente com a 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 verificar se há intenção de cópia.
Valor de retorno
IoCheckFileObjectOpenedAsCopySource retornará TRUE se o objeto de arquivo representar um arquivo de origem que foi aberto anteriormente com a intenção de copiar arquivo; 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 façam parte de cópias.
Observações
O exemplo a seguir mostra como verificar se um objeto de arquivo foi aberto com a 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 cópia de arquivo no modo Kernel e detectando cenários de arquivo de cópia para obter mais informações.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 11, versão 22H2 |
cabeçalho | ntifs.h (incluem Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | PASSIVE_LEVEL |