Funzione FltGetTopInstance (fltkernel.h)
La routine FltGetTopInstance restituisce un puntatore di istanza opaco per l'istanza del driver minifilter collegata nella parte superiore dello stack di istanze per un determinato volume.
Sintassi
NTSTATUS FLTAPI FltGetTopInstance(
[in] PFLT_VOLUME Volume,
[out] PFLT_INSTANCE *Instance
);
Parametri
[in] Volume
Puntatore opaco per il volume.
[out] Instance
Puntatore a una variabile allocata dal chiamante che riceve un puntatore istanza opaca per l'istanza inferiore per questo volume. Questo parametro è obbligatorio e non può essere NULL.
Valore restituito
FltGetTopInstance restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio quanto segue:
Codice restituito | Descrizione |
---|---|
|
Non è stata trovata alcuna istanza corrispondente. Si tratta di un codice di avviso. |
Commenti
Si dice che un'istanza sia nella parte superiore dello stack di istanze del driver minifilter se l'altitudine è superiore a quella di tutte le altre istanze associate allo stesso volume. Il termine "altitudine" fa riferimento alla posizione occupata da un'istanza 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 da 0 a 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.
FltGetTopInstance aggiunge un riferimento di rundown al puntatore dell'istanza opaca restituito nel parametro Instance. Quando questo puntatore non è più necessario, il chiamante deve rilasciarlo chiamando FltObjectDereference. Pertanto ogni chiamata riuscita a FltGetTopInstance 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 |