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 |