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

FSRTL_PER_FILE_CONTEXT

FsRtlGetPerFileContextPointer

FsRtlInsertPerFileContext

FsRtlLookupPerFileContext

Rilevamento Per-File contesto in un driver di filtro del file system legacy