Funzione FltGetVolumeFromDeviceObject (fltkernel.h)

La routine FltGetVolumeFromDeviceObject restituisce un puntatore opaco per il volume rappresentato da un oggetto dispositivo del volume (VDO).

Sintassi

NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
  [in]  PFLT_FILTER    Filter,
  [in]  PDEVICE_OBJECT DeviceObject,
  [out] PFLT_VOLUME    *RetVolume
);

Parametri

[in] Filter

Puntatore di filtro opaco per il chiamante. Questo parametro è obbligatorio e non può essere NULL.

[in] DeviceObject

Puntatore all'oggetto dispositivo del volume.

[out] RetVolume

Puntatore a una variabile allocata dal chiamante che riceve un puntatore opaco per il volume. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

FltGetVolumeFromDeviceObject restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_FLT_DELETING_OBJECT Il volume viene eliminato. Si tratta di un codice di errore.
STATUS_INVALID_PARAMETER L'oggetto dispositivo volume specificato nel parametro DeviceObject non è stato trovato un puntatore a oggetti dispositivo volume valido o nessun volume corrispondente. Si tratta di un codice di errore.

Commenti

Il parametro DeviceObject può essere un puntatore a un filtro o a un oggetto dispositivo del volume del file system (VDO). Se punta a un oggetto dispositivo di archiviazione, FltGetVolumeFromDeviceObject restituisce STATUS_INVALID_PARAMETER.

Per altre informazioni sugli oggetti del dispositivo di volume, vedere Stack di file system.

FltGetVolumeFromDeviceObject aggiunge un riferimento di rundown al puntatore del volume opaco restituito nel parametro RetVolume . Quando questo puntatore non è più necessario, il chiamante deve rilasciarlo chiamando FltObjectDereference. Pertanto ogni chiamata riuscita a FltGetVolumeFromDeviceObject deve essere corrispondente a una chiamata successiva a FltObjectDereference.

Per ottenere un puntatore all'oggetto dispositivo per un determinato volume, chiamare FltGetDeviceObject.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Vedi anche

FltGetDeviceObject

FltGetDiskDeviceObject

FltObjectDereference