Funzione IoCheckFileObjectOpenedAsCopySource (ntifs.h)
La routine IoCheckFileObjectOpenedAsCopySource verifica se un file è stato aperto in precedenza con finalità di copia come file di origine.
Sintassi
BOOLEAN IoCheckFileObjectOpenedAsCopySource(
[in] PFILE_OBJECT FileObject
);
Parametri
[in] FileObject
Puntatore all'oggetto file di origine per verificare la finalità di copia.
Valore restituito
IoCheckFileObjectOpenedAsCopySource restituisce TRUE se l'oggetto file rappresenta un file di origine aperto in precedenza con finalità di copia del file; in caso contrario, restituisce FALSE. Un valore restituito di TRUE segnala solo la finalità in fase di creazione; non significa che tutte le operazioni sull'oggetto file fanno parte di tutte le copie.
Commenti
Nell'esempio seguente viene illustrato come verificare se un oggetto file è stato aperto con la finalità di 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);
Per altre informazioni, vedere Copia file in modalità kernel e rilevamento di scenari di file di copia .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 11, versione 22H2 |
Intestazione | ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | PASSIVE_LEVEL |