Función FltGetDeviceObject (fltkernel.h)
La rutina FltGetDeviceObject devuelve un puntero al objeto de dispositivo de volumen (VDO) del Administrador de filtros para un volumen determinado.
Sintaxis
NTSTATUS FLTAPI FltGetDeviceObject(
[in] PFLT_VOLUME Volume,
[out] PDEVICE_OBJECT *DeviceObject
);
Parámetros
[in] Volume
Puntero opaco para el volumen.
[out] DeviceObject
Puntero a una variable asignada por el autor de la llamada que recibe el puntero del objeto de dispositivo de volumen. Este parámetro es obligatorio y no puede ser NULL.
Valor devuelto
FltGetDeviceObject devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
Código devuelto | Descripción |
---|---|
STATUS_FLT_NO_DEVICE_OBJECT | El objeto de dispositivo solicitado no existe para el volumen especificado. Se trata de un código de error. |
Comentarios
FltGetDeviceObject devuelve un puntero al objeto de dispositivo de volumen (VDO) del Administrador de filtros para el volumen especificado.
Para obtener más información sobre los objetos de dispositivo de volumen, vea Pilas del sistema de archivos.
El VDO del Administrador de filtros no es el mismo que el objeto de dispositivo de disco del controlador de almacenamiento subyacente o el VDO del sistema de archivos base. Para obtener un puntero al objeto de dispositivo de disco, llame a FltGetDiskDeviceObject en el volumen especificado en el parámetro Volume . Para obtener un puntero al VDO del sistema de archivos base, llame a IoGetDeviceAttachmentBaseRef en retDeviceObject devuelto por FltGetDeviceObject.
Para obtener un puntero opaco para el volumen correspondiente para un objeto de dispositivo determinado, llame a FltGetVolumeFromDeviceObject.
FltGetDeviceObject incrementa el recuento de referencias en el puntero de objeto de dispositivo devuelto. Cuando este puntero ya no es necesario, el autor de la llamada debe disminuir este recuento de referencias llamando a ObDereferenceObject. Por lo tanto, cada llamada correcta a FltGetDeviceObject debe coincidir con una llamada posterior a ObDereferenceObject.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | Fltmgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |