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 |