Função FltGetDeviceObject (fltkernel.h)
A rotina FltGetDeviceObject retorna um ponteiro para o VDO (objeto de dispositivo de volume) do Gerenciador de Filtros para um determinado volume.
Sintaxe
NTSTATUS FLTAPI FltGetDeviceObject(
[in] PFLT_VOLUME Volume,
[out] PDEVICE_OBJECT *DeviceObject
);
Parâmetros
[in] Volume
Ponteiro opaco para o volume.
[out] DeviceObject
Ponteiro para uma variável alocada pelo chamador que recebe o ponteiro do objeto do dispositivo de volume. Esse parâmetro é necessário e não pode ser NULL.
Retornar valor
FltGetDeviceObject retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:
Código de retorno | Descrição |
---|---|
STATUS_FLT_NO_DEVICE_OBJECT | O objeto de dispositivo solicitado não existe para o volume fornecido. Este é um código de erro. |
Comentários
FltGetDeviceObject retorna um ponteiro para o VDO (objeto de dispositivo de volume) do Gerenciador de Filtros para o volume fornecido.
Para obter mais informações sobre objetos de dispositivo de volume, consulte Pilhas do Sistema de Arquivos.
O VDO do Gerenciador de Filtros não é o mesmo que o objeto de dispositivo de disco do driver de armazenamento subjacente ou o VDO do sistema de arquivos base. Para obter um ponteiro para o objeto de dispositivo de disco, chame FltGetDiskDeviceObject no volume especificado no parâmetro Volume . Para obter um ponteiro para o VDO do sistema de arquivos base, chame IoGetDeviceAttachmentBaseRef no RetDeviceObject retornado por FltGetDeviceObject.
Para obter um ponteiro opaco para o volume correspondente de um determinado objeto de dispositivo, chame FltGetVolumeFromDeviceObject.
FltGetDeviceObject incrementa a contagem de referência no ponteiro de objeto do dispositivo retornado. Quando esse ponteiro não for mais necessário, o chamador deverá diminuir essa contagem de referência chamando ObDereferenceObject. Portanto, cada chamada bem-sucedida para FltGetDeviceObject deve ser correspondida por uma chamada subsequente para ObDereferenceObject.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | Fltmgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |