Função FltGetVolumeInformation (fltkernel.h)
A rotina FltGetVolumeInformation fornece informações sobre um determinado volume.
Sintaxe
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Parâmetros
[in] Volume
Ponteiro opaco para o volume. Esse parâmetro é necessário e não pode ser NULL.
[in] InformationClass
Tipo de informação solicitada. Esse parâmetro é necessário e deve ser um dos valores a seguir.
Valor | Significado |
---|---|
FilterVolumeBasicInformation | O parâmetro Buffer recebe uma estrutura FILTER_VOLUME_BASIC_INFORMATION para o volume. |
FilterVolumeStandardInformation | O parâmetro Buffer recebe uma estrutura FILTER_VOLUME_STANDARD_INFORMATION para o volume. Essa estrutura está disponível a partir do Windows Vista. |
[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 . Esse parâmetro é necessário e não pode ser NULL.
[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. Este parâmetro é necessário.
[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, FltGetVolumeInformation 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
FltGetVolumeInformation retorna STATUS_SUCCESS ou um código de status NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
|
Um valor inválido foi especificado para o parâmetro InformationClass . Por exemplo, se FilterVolumeStandardInformation for especificado em um sistema operacional antes do Windows Vista, a rotina retornará STATUS_INVALID_PARAMETER. Este é um código de erro. |
|
O buffer para o qual o parâmetro Buffer aponta não é grande o suficiente para armazenar as informações solicitadas. Este é um código de erro. |
Comentários
Dado um ponteiro de volume opaco, como o retornado pela rotina FltEnumerateVolumes , a rotina FltGetVolumeInformation fornece informações sobre o volume apontado pelo ponteiro de volume opaco, passado pelo parâmetro Volume . Observe que o chamador deve eventualmente liberar o ponteiro de volume opaco chamando a rotina FltObjectDereference .
A rotina FltGetVolumeInformation retorna informações para um único volume. No entanto, dada uma lista de ponteiros de volume opacos, a rotina pode ser usada iterativamente para criar uma lista de estruturas de informações de volume correspondentes. Nessa lista, é possível que duas ou mais estruturas contenham nomes de volume idênticos. Para obter mais informações, consulte Noções básicas sobre enumerações de volume com nomes de volume duplicados.
Para listar informações de volume para todos os volumes conhecidos pelo gerenciador de filtros, chame FltEnumerateVolumeInformation.
A lista a seguir contém informações relacionadas, que podem ser de uso:
- Para enumerar todos os drivers de minifiltro registrados no sistema, chame a rotina FltEnumerateFilters .
- Para obter informações sobre instâncias de driver de minifiltro anexadas a um determinado volume, chame a rotina FltEnumerateInstanceInformationByVolume .
- Para enumerar instâncias de driver de minifiltro para um determinado driver de minifiltro ou volume, chame a rotina FltEnumerateInstances .
- Para enumerar todos os volumes no sistema, chame a rotina FltEnumerateVolumes .
- Para obter um ponteiro opaco para o volume representado por um determinado VDO (objeto de dispositivo de volume), chame a rotina FltGetVolumeFromDeviceObject .
- Para obter um ponteiro opaco para o volume no qual um determinado fluxo de arquivos reside, chame a rotina FltGetVolumeFromFileObject .
- Para obter um ponteiro opaco para o volume ao qual uma determinada instância de driver de minifiltro está anexada, chame a rotina FltGetVolumeFromInstance .
- Para obter um ponteiro opaco para o volume cujo nome corresponde a um determinado nome de volume, chame a rotina FltGetVolumeFromName .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Essa rotina está disponível a partir do Windows Vista. |
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua FltKernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
Confira também
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION