Freigeben über


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

Weitere Informationen

EXTENDED_CREATE_INFORMATION

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile