Função FltGetVolumeFromDeviceObject (fltkernel.h)
A rotina FltGetVolumeFromDeviceObject retorna um ponteiro opaco para o volume representado por um VDO (objeto de dispositivo de volume).
Sintaxe
NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
[in] PFLT_FILTER Filter,
[in] PDEVICE_OBJECT DeviceObject,
[out] PFLT_VOLUME *RetVolume
);
Parâmetros
[in] Filter
Ponteiro de filtro opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.
[in] DeviceObject
Ponteiro para o objeto do dispositivo de volume.
[out] RetVolume
Ponteiro para uma variável alocada pelo chamador que recebe um ponteiro opaco para o volume. Esse parâmetro é necessário e não pode ser NULL.
Retornar valor
FltGetVolumeFromDeviceObject retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
STATUS_FLT_DELETING_OBJECT | O volume está sendo dividido. Este é um código de erro. |
STATUS_INVALID_PARAMETER | O objeto de dispositivo de volume especificado no parâmetro DeviceObject não era um ponteiro de objeto de dispositivo de volume válido ou nenhum volume correspondente foi encontrado. Este é um código de erro. |
Comentários
O parâmetro DeviceObject pode ser um ponteiro para um filtro ou um VDO (objeto de dispositivo de volume do sistema de arquivos). Se ele apontar para um objeto de dispositivo de armazenamento, FltGetVolumeFromDeviceObject retornará STATUS_INVALID_PARAMETER.
Para obter mais informações sobre objetos de dispositivo de volume, consulte Pilhas do Sistema de Arquivos.
FltGetVolumeFromDeviceObject adiciona uma referência de rundown ao ponteiro de volume opaco retornado no parâmetro RetVolume . Quando esse ponteiro não for mais necessário, o chamador deverá liberá-lo chamando FltObjectDereference. Portanto, cada chamada bem-sucedida para FltGetVolumeFromDeviceObject deve ser correspondida por uma chamada subsequente para FltObjectDereference.
Para obter um ponteiro para o objeto do dispositivo para um determinado volume, chame FltGetDeviceObject.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |