Funzione FltGetUpperInstance (fltkernel.h)

La routine FltGetUpperInstance restituisce un puntatore di istanza opaca per l'istanza successiva del driver minifilter superiore, se presente, collegata sopra un'istanza del driver minifilter specificata nello stesso volume.

Sintassi

NTSTATUS FLTAPI FltGetUpperInstance(
  [in]  PFLT_INSTANCE CurrentInstance,
  [out] PFLT_INSTANCE *UpperInstance
);

Parametri

[in] CurrentInstance

Puntatore istanza opaca per l'istanza per cui viene richiesta l'istanza successiva.

[out] UpperInstance

Puntatore a una variabile allocata dal chiamante che riceve un puntatore istanza opaca per l'istanza successiva. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

FltGetUpperInstance restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio quanto segue:

Codice restituito Descrizione
STATUS_NO_MORE_ENTRIES
Non è stata trovata alcuna istanza superiore. Si tratta di un codice di avviso.

Commenti

Si dice che un'istanza sia superiore a un'altra se è associata a un'altitudine superiore sullo stesso volume. Il termine "altitudine" fa riferimento alla posizione che un'istanza occupa (o deve occupare) nello stack di istanze del driver minifilter per un volume. Maggiore è l'altitudine, più lontano l'istanza è dal file system di base nello stack. È possibile collegare un'unica istanza a una determinata altitudine in un determinato volume.

L'altitudine è specificata da una stringa di altitudine, ovvero una stringa Unicode conteggiata costituita da una o più cifre decimali nell'intervallo di 0-9 e può includere un singolo punto decimale. Ad esempio, "100.123456" e "03333" sono stringhe di altitudine valide.

La stringa "03333" rappresenta un'altitudine superiore a "100.123456". I valori iniziali e finali vengono ignorati. In altre parole, un'istanza la cui altitudine è "03333" è più lontana dal file system di base rispetto a un'istanza la cui altitudine è "100.123456". Tuttavia, questo confronto è significativo solo se entrambe le istanze sono associate allo stesso volume.

FltGetUpperInstance aggiunge un riferimento di rundown al puntatore dell'istanza opaca restituito nel parametro UpperInstance . Quando questo puntatore non è più necessario, il chiamante deve rilasciarlo chiamando FltObjectDereference. Pertanto, ogni chiamata riuscita a FltGetUpperInstance deve essere corrispondente a una chiamata successiva a FltObjectDereference.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Vedi anche

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetLowerInstance

FltGetTopInstance

FltObjectDereference