Funzione FsRtlRemovePerFileContext (ntifs.h)
La routine FsRtlRemovePerFileContext restituisce un puntatore a un oggetto FSRTL_PER_FILE_CONTEXT associato a un file. FsRtlRemovePerFileContext rimuove l'oggetto FSRTL_PER_FILE_CONTEXT dall'elenco occupato, insieme alle informazioni sul contesto specifiche del driver associate.
Sintassi
PFSRTL_PER_FILE_CONTEXT FsRtlRemovePerFileContext(
[in] PVOID *PerFileContextPointer,
[in, optional] PVOID OwnerId,
[in, optional] PVOID InstanceId
);
Parametri
[in] PerFileContextPointer
Puntatore a un puntatore opaco usato dal pacchetto FSRTL (File System Runtime Library) per tenere traccia dei contesti di file. Per ottenere questo puntatore da un oggetto file, utilizzare la macro FsRtlGetPerFileContextPointer .
[in, optional] OwnerId
Puntatore a una variabile allocata dal driver di filtro che identifica in modo univoco il proprietario della struttura del contesto per file. Questo parametro è facoltativo, ma deve essere diverso da NULL se InstanceId è diverso da NULL.
[in, optional] InstanceId
Puntatore a una variabile allocata dal driver di filtro che può essere usata per distinguere tra le strutture di contesto per file create dallo stesso driver di filtro. Questo parametro è facoltativo e,
Valore restituito
Puntatore al primo FSRTL_PER_FILE_CONTEXT che corrisponde a OwnerId e InstanceId, se specificato. Se non viene trovata alcuna corrispondenza o se il sistema non supporta le informazioni sul contesto di file, questa routine restituisce NULL.
Commenti
FsRtlRemovePerFileContext rimuove solo la prima struttura di contesto corrispondente per ogni file trovata. Se sono presenti contesti aggiuntivi corrispondenti per ogni file, il driver di filtro deve chiamare FsRtlRemovePerFileContext tutte le volte necessarie per rimuoverle tutte.
Il driver di filtro del file system deve liberare la memoria usata per queste informazioni di contesto dopo la rimozione del FSRTL_PER_FILE_CONTEXT .
Utilizzare questa routine per i driver per rimuovere i contesti solo quando il driver deve rimuovere le informazioni sul contesto per ogni file mentre il file è ancora aperto. I contesti vengono rimossi quando un file viene chiuso usando FsRtlTeardownPerFileContexts.
Non usare questa routine all'interno della routine FreeCallback . Il file system rimuove i contesti dall'elenco prima di chiamare tale routine.
Non usare questa routine all'interno del gestore IRP_CLOSE. Non si riceverà alcuna notifica quando il flusso viene eliminato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include FltKernel.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Vedi anche
Rilevamento Per-File contesto in un driver di filtro del file system legacy