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
Zeiger auf das Quelldateiobjekt, das auf Kopierabsicht überprüft werden soll.
Rückgabewert
IoCheckFileObjectOpenedAsCopySource gibt TRUE zurück, wenn das Dateiobjekt eine Quelldatei darstellt, die zuvor mit der Kopierdateiabsicht geöffnet wurde. Andernfalls wird FALSE zurückgegeben. Ein Rückgabewert von TRUE signalisiert nur die Absicht zur Erstellungszeit. Dies bedeutet nicht, dass alle Vorgänge für das Dateiobjekt Teil von Kopien sind.
Hinweise
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 Kopieren im Kernelmodus und Erkennen von Kopierdateiszenarien .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 11, Version 22H2 |
Header | ntifs.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | PASSIVE_LEVEL |