Partager via


Fonction IoCheckFileObjectOpenedAsCopySource (ntifs.h)

La routine IoCheckFileObjectOpenedAsCopySource vérifie si un fichier a été précédemment ouvert avec une 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 vers case activée pour l’intention de copie.

Valeur retournée

IoCheckFileObjectOpenedAsCopySource retourne TRUE si l’objet file représente un fichier source qui a été précédemment ouvert 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 toutes partie de copies.

Remarques

L’exemple suivant montre comment case activée si un objet fichier a été ouvert avec une 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 .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 22H2
En-tête ntifs.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
IRQL PASSIVE_LEVEL

Voir aussi

EXTENDED_CREATE_INFORMATION

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile