Função FltEnumerateInstanceInformationByDeviceObject (fltkernel.h)
A rotina FltEnumerateInstanceInformationByDeviceObject fornece informações sobre instâncias de driver de minifiltro e drivers de filtro herdados anexados ao volume relacionado a um objeto de dispositivo especificado.
Sintaxe
NTSTATUS FLTAPI FltEnumerateInstanceInformationByDeviceObject(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Parâmetros
[in] DeviceObject
O objeto do dispositivo para o objeto de arquivo ou volume relacionado.
[in] Index
Índice baseado em zero da instância do driver de minifiltro ou do driver de filtro herdado para o qual as informações são solicitadas.
[in] InformationClass
Tipo de informação a ser retornada para a instância do driver de minifiltro ou o driver de filtro herdado. Esse parâmetro pode ter um dos valores a seguir.
Valor | Significado |
---|---|
InstanceBasicInformation | O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_BASIC_INFORMATION para uma instância de minifiltro. Os drivers de filtro herdados são ignorados. |
InstanceFullInformation | O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_FULL_INFORMATION para uma instância de minifiltro. Os drivers de filtro herdados são ignorados. |
InstancePartialInformation | O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_PARTIAL_INFORMATION para uma instância de minifiltro. Os drivers de filtro herdados são ignorados. |
InstanceAggregateStandardInformation | O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_AGGREGATE_STANDARD_INFORMATION para uma instância de driver de minifiltro ou driver de filtro herdado. |
[out] Buffer
Ponteiro para um buffer alocado pelo chamador que recebe as informações solicitadas. O tipo das informações retornadas no buffer é definido pelo parâmetro InformationClass .
[in] BufferSize
Tamanho, em bytes, do buffer para o qual o parâmetro Buffer aponta. O chamador deve definir esse parâmetro de acordo com o valor de InformationClass fornecido.
[out] BytesReturned
Ponteiro para uma variável alocada pelo chamador que recebe o número de bytes retornados no buffer para o qual o Buffer aponta. Se o valor de entrada de BufferSize for muito pequeno, FltEnumerateInstanceInformationByDeviceObject retornará STATUS_BUFFER_TOO_SMALL e definirá essa variável como o número de bytes necessários para armazenar as informações solicitadas. Esse parâmetro é necessário e não pode ser NULL.
Retornar valor
FltEnumerateInstanceInformationByDeviceObject retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
|
O buffer para o qual o parâmetro Buffer aponta não é grande o suficiente para armazenar as informações solicitadas. |
|
Uma instância de minifiltro correspondente foi encontrada, mas está sendo interrompida. Observe que esse valor retornado não se aplica a drivers de filtro herdados porque os drivers de filtro herdados não podem ser descarregados. |
|
Um valor inválido foi especificado para o parâmetro InformationClass . |
|
Não há mais entradas na lista de instâncias/filtros do volume. |
|
Nenhum volume relacionado foi encontrado para DeviceObject. |
|
DeviceObject não é um objeto de dispositivo de volume válido.
-ou- O volume relacionado a DeviceObject foi registrado, mas não tem nenhuma instância de filtro anexada. |
Comentários
Usar o parâmetro Index é simplesmente uma maneira de FltEnumerateInstanceInformationByDeviceObject selecionar entre instâncias de driver de minifiltro e drivers de filtro herdados na lista de instância/filtro para o volume relacionado a DeviceObject. Como as instâncias de driver de minifiltro na lista de instância/filtro podem ser alteradas a qualquer momento, não há garantia de que duas chamadas para FltEnumerateInstanceInformationByDeviceObject com os mesmos valores Index e DeviceObject retornem o mesmo resultado.
Essa rotina retornará informações de driver de filtro herdado e informações de instância de driver de minifiltro quando o valor do parâmetro InformationClass for InstanceAggregateStandardInformation.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
IRQL | <= APC_LEVEL |
Confira também
FltEnumerateInstanceInformationByFilter