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 |