Función IoCheckFileObjectOpenedAsCopySource (ntifs.h)

La rutina IoCheckFileObjectOpenedAsCopySource comprueba si un archivo se abrió previamente con la intención de copia como un archivo de origen.

Sintaxis

BOOLEAN IoCheckFileObjectOpenedAsCopySource(
  [in] PFILE_OBJECT FileObject
);

Parámetros

[in] FileObject

Puntero al objeto de archivo de origen para comprobar la intención de copia.

Valor devuelto

IoCheckFileObjectOpenedAsCopySource devuelve TRUE si el objeto de archivo representa un archivo de origen que se abrió previamente con la intención de copiar archivo; de lo contrario, devuelve FALSE. Un valor devuelto de TRUE solo indica la intención en tiempo de creación; no significa que todas las operaciones del objeto de archivo formen parte de copias.

Comentarios

En el ejemplo siguiente se muestra cómo comprobar si se abrió un objeto de archivo con la intención de copia.


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

Consulte Escenarios de copia de archivos en modo kernel y detección de escenarios de archivos de copia para obtener más información.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11, versión 22H2
Encabezado ntifs.h (incluye Wdm.h, Ntddk.h, Ntifs.h)
IRQL PASSIVE_LEVEL

Consulte también

EXTENDED_CREATE_INFORMATION

IoCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile