Compartir a través de


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 código fuente que se abrió anteriormente con la intención de archivo de copia; 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.

Observaciones

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 copia de archivos en modo kernel y detección de escenarios de archivos de copia para obtener más información.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11, versión 22H2
encabezado de ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
irQL PASSIVE_LEVEL

Consulte también

EXTENDED_CREATE_INFORMATION

ioCheckFileObjectOpenedAsCopyDestination

NtCopyFileChunk

NtCreateFile