IoCheckFileObjectOpenedAsCopySource-Funktion (ntifs.h)
Die IoCheckFileObjectOpenedAsCopySource Routine überprüft, ob eine Datei zuvor mit Kopierabsicht als Quelldatei geöffnet wurde.
Syntax
BOOLEAN IoCheckFileObjectOpenedAsCopySource(
[in] PFILE_OBJECT FileObject
);
Parameter
[in] FileObject
Zeigen Sie auf das Quelldateiobjekt, um nach Kopierabsicht zu suchen.
Rückgabewert
IoCheckFileObjectOpenedAsCopySource TRUE zurück, wenn das Dateiobjekt eine Quelldatei darstellt, die zuvor mit Kopierdateiabsicht geöffnet wurde; andernfalls wird FALSE zurückgegeben. Ein Rückgabewert von TRUE signalisiert nur die Absicht zur Erstellungszeit; es bedeutet nicht, dass alle Vorgänge für das Dateiobjekt Teil von Kopien sind.
Bemerkungen
Das folgende Beispiel zeigt, wie Sie überprüfen, ob ein Dateiobjekt mit Kopierabsicht geöffnet wurde.
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);
Weitere Informationen finden Sie unter Kernelmodusdateikopie und Erkennen von Kopierdateiszenarien.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 11, Version 22H2 |
Header- | ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
IRQL- | PASSIVE_LEVEL |