Função FltGetTopInstance (fltkernel.h)
A rotina FltGetTopInstance retorna um ponteiro de instância opaco para a instância do driver de minifiltro que está anexada na parte superior da pilha de instâncias para um determinado volume.
Sintaxe
NTSTATUS FLTAPI FltGetTopInstance(
[in] PFLT_VOLUME Volume,
[out] PFLT_INSTANCE *Instance
);
Parâmetros
[in] Volume
Ponteiro opaco para o volume.
[out] Instance
Ponteiro para uma variável alocada por chamador que recebe um ponteiro de instância opaca para a instância inferior desse volume. Esse parâmetro é necessário e não pode ser NULL.
Valor de retorno
fltGetTopInstance retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:
Código de retorno | Descrição |
---|---|
|
Nenhuma instância correspondente foi encontrada. Este é um código de aviso. |
Observações
Diz-se que uma instância está no superior da pilha de instâncias do driver de minifiltro se sua altitude for maior do que a de todas as outras instâncias anexadas ao mesmo volume. O termo "altitude" refere-se à posição que uma instância ocupa na pilha de instâncias do driver de minifiltro para um volume. Quanto maior a altitude, mais distante a instância é do sistema de arquivos base na pilha. Somente uma instância pode ser anexada a uma determinada altitude em um determinado volume.
A altitude é especificada por uma cadeia de caracteres de altitude , que é uma cadeia de caracteres Unicode contada que consiste em um ou mais dígitos decimais de 0 a 9 e pode incluir um único ponto decimal. Por exemplo, "100.123456" e "03333" são cadeias de caracteres de altitude válidas.
A cadeia de caracteres "03333" representa uma altitude maior que "100,123456". (Zeros à esquerda e à direita são ignorados.) Em outras palavras, uma instância cuja altitude é "03333" está mais distante do sistema de arquivos base do que uma instância cuja altitude é "100.123456". No entanto, essa comparação só será significativa se ambas as instâncias estiverem anexadas ao mesmo volume.
FltGetTopInstance adiciona uma referência de rundown ao ponteiro de instância opaco retornado no parâmetro da Instância. Quando esse ponteiro não for mais necessário, o chamador deverá liberá-lo chamando FltObjectDereference. Portanto, cada chamada bem-sucedida para FltGetTopInstance deve ser correspondida por uma chamada subsequente para FltObjectDereference.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | fltkernel.h (inclua Fltkernel.h) |
biblioteca | FltMgr.lib |
de DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |