Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 necesario y no se puede 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. |
Observaciones
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, consulte 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 el 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, todas las llamadas correctas a FltGetDeviceObject deben coincidir con una llamada posterior a ObDereferenceObject.
Requisitos
| Requisito | Valor |
|---|---|
| de la plataforma de destino de | Universal |
| encabezado de | fltkernel.h (incluya Fltkernel.h) |
| biblioteca de | Fltmgr.lib |
| DLL de | Fltmgr.sys |
| irQL | <= DISPATCH_LEVEL |