Partager via


Fonction IoCheckFileObjectOpenedAsCopySource (ntifs.h)

La routine IoCheckFileObjectOpenedAsCopySource vérifie si un fichier a été ouvert précédemment avec l’intention de copie en tant que fichier source.

Syntaxe

BOOLEAN IoCheckFileObjectOpenedAsCopySource(
  [in] PFILE_OBJECT FileObject
);

Paramètres

[in] FileObject

Pointeur vers l’objet de fichier source pour rechercher l’intention de copie.

Valeur de retour

IoCheckFileObjectOpenedAsCopySource retourne TRUE si l’objet de fichier représente un fichier source qui a été ouvert précédemment avec l’intention de copier le fichier ; sinon, elle retourne FALSE. Une valeur de retour true signale uniquement l’intention au moment de la création ; cela ne signifie pas que toutes les opérations sur l’objet fichier font partie de toutes les copies.

Remarques

L’exemple suivant montre comment vérifier si un objet de fichier a été ouvert avec l’intention de copie.


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);

Pour plus d’informations, consultez copie de fichiers en mode noyau et détection des scénarios de copie de fichier.

Exigences

Exigence Valeur
client minimum pris en charge Windows 11, version 22H2
d’en-tête ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL PASSIVE_LEVEL

Voir aussi

EXTENDED_CREATE_INFORMATION

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile