Funzione FltGetDeviceObject (fltkernel.h)
La routine FltGetDeviceObject restituisce un puntatore all'oggetto dispositivo del volume di Filter Manager (VDO) per un determinato volume.
Sintassi
NTSTATUS FLTAPI FltGetDeviceObject(
[in] PFLT_VOLUME Volume,
[out] PDEVICE_OBJECT *DeviceObject
);
Parametri
[in] Volume
Puntatore opaco per il volume.
[out] DeviceObject
Puntatore a una variabile allocata dal chiamante che riceve il puntatore dell'oggetto del dispositivo del volume. Questo parametro è obbligatorio e non può essere NULL.
Valore restituito
FltGetDeviceObject restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_FLT_NO_DEVICE_OBJECT | L'oggetto dispositivo richiesto non esiste per il volume specificato. Si tratta di un codice di errore. |
Commenti
FltGetDeviceObject restituisce un puntatore all'oggetto dispositivo del volume di Filter Manager (VDO) per il volume specificato.
Per altre informazioni sugli oggetti del dispositivo di volume, vedere Stack di file system.
Il VDO di Filter Manager non è uguale all'oggetto dispositivo del driver di archiviazione sottostante o al VDO del file system di base. Per ottenere un puntatore all'oggetto dispositivo disco, chiamare FltGetDiskDeviceObject nel volume specificato nel parametro Volume . Per ottenere un puntatore alla VDO del file system di base, chiamare IoGetDeviceAttachmentBaseRef nel RetDeviceObject restituito da FltGetDeviceObject.
Per ottenere un puntatore opaco per il volume corrispondente per un determinato oggetto dispositivo, chiamare FltGetVolumeFromDeviceObject.
FltGetDeviceObject incrementa il conteggio dei riferimenti nel puntatore dell'oggetto dispositivo restituito. Quando questo puntatore non è più necessario, il chiamante deve decrerere il conteggio dei riferimenti chiamando ObDereferenceObject. Pertanto, ogni chiamata riuscita a FltGetDeviceObject deve essere corrispondente a una chiamata successiva a ObDereferenceObject.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (includere Fltkernel.h) |
Libreria | Fltmgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |