Функция IoCheckFileObjectOpenedAsCopySource (ntifs.h)

Подпрограмма IoCheckFileObjectOpenedAsCopySource проверяет, был ли ранее открыт файл с намерением копирования в качестве исходного файла.

Синтаксис

BOOLEAN IoCheckFileObjectOpenedAsCopySource(
  [in] PFILE_OBJECT FileObject
);

Параметры

[in] FileObject

Указатель на объект исходного файла, проверка для намерения копирования.

Возвращаемое значение

IoCheckFileObjectOpenedAsCopySource возвращает значение TRUE, если объект файла представляет исходный файл, который ранее был открыт с намерением копирования файла; В противном случае возвращается значение FALSE. Возвращаемое значение TRUE сигнализирует только о намерении во время создания; Это не означает, что все операции с объектом файла являются частью копий.

Комментарии

В следующем примере показано, как проверка, был ли открыт файловый объект с намерением копирования.


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);

Дополнительные сведения см. в статье Копирование файлов в режиме ядра и обнаружение сценариев копирования файлов .

Требования

Требование Значение
Минимальная версия клиента Windows 11 версии 22H2
Верхняя часть ntifs.h (включая Wdm.h, Ntddk.h, Ntifs.h)
IRQL PASSIVE_LEVEL

См. также раздел

EXTENDED_CREATE_INFORMATION

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile