Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O FltEnumerateInstances rotina enumera instâncias de driver de minifiltro para um determinado driver de minifiltro ou volume.
Sintaxe
NTSTATUS FLTAPI FltEnumerateInstances(
[in, optional] PFLT_VOLUME Volume,
[in, optional] PFLT_FILTER Filter,
[out] PFLT_INSTANCE *InstanceList,
[in] ULONG InstanceListSize,
[out] PULONG NumberInstancesReturned
);
Parâmetros
[in, optional] Volume
Ponteiro opaco para o volume para o qual o chamador deseja enumerar instâncias de driver de minifiltro. Se NULL, as instâncias de todos os volumes serão enumeradas. Deve serNULL não se de Filtro estiver NULL.
[in, optional] Filter
Ponteiro de filtro opaco para o driver de minifiltro cujas instâncias devem ser enumeradas. Se NULL, as instâncias de todos os drivers de minifiltro serão enumeradas. Deve serNULL não se volume for NULL.
[out] InstanceList
Ponteiro para um buffer alocado por chamador que recebe uma matriz de ponteiros opacos de instância.
[in] InstanceListSize
Número de ponteiros de instância opacos que o buffer que InstanceList aponta pode conter.
[out] NumberInstancesReturned
Ponteiro para uma variável alocada por chamador que recebe o número de ponteiros de instância opacos retornados na matriz à qual InstanceList aponta. Se InstanceListSize for muito pequeno, FltEnumerateInstances retornará STATUS_BUFFER_TOO_SMALL e definirá NumberInstancesReturned para apontar para o número de instâncias correspondentes encontradas.
Valor de retorno
FltEnumerateInstances retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
| Código de retorno | Descrição |
|---|---|
|
O buffer ao qual o parâmetro InstanceList não é grande o suficiente para armazenar as informações solicitadas. Este é um código de erro. |
|
de Volume e de Filtro de não podem ser NULL. Este é um código de erro. |
Observações
Como as instâncias de driver de minifiltro na lista de instâncias podem ser alteradas a qualquer momento, duas chamadas para FltEnumerateInstances com os mesmos valores de Volume e Filtro não têm garantia de retornar o mesmo resultado.
FltEnumerateInstances adiciona uma referência de rundown a cada um dos ponteiros opacos de instância retornados na matriz à qual o parâmetro InstanceList aponta. Quando esses ponteiros não forem mais necessários, o chamador deverá liberá-los chamando FltObjectDereference em cada um deles. Portanto, cada chamada bem-sucedida para FltEnumerateInstances deve ser correspondida por uma chamada subsequente para FltObjectDereference para cada ponteiro de instância retornado.
Para enumerar todos os drivers de minifiltro registrados, chame FltEnumerateFilters.
Para enumerar todos os volumes que são conhecidos pelo Gerenciador de Filtros, chame FltEnumerateVolumes.
Para listar informações de filtro para todos os drivers de minifiltro registrados, chame FltEnumerateFilterInformation.
Para obter informações de filtro para um determinado driver de minifiltro, chame FltGetFilterInformation .
Para enumerar todas as instâncias de um determinado driver de minifiltro, chame FltEnumerateInstanceInformationByFilter.
Para enumerar todas as instâncias de driver de minifiltro em um determinado volume, chame FltEnumerateInstanceInformationByVolume.
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| cabeçalho | fltkernel.h (inclua Fltkernel.h) |
| biblioteca | FltMgr.lib |
| IRQL | <= APC_LEVEL |
Consulte também
FltEnumerateInstanceInformationByFilter