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 |
---|---|
|
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 |