FltGetVolumeProperties-Funktion (fltkernel.h)
Die FltGetVolumeProperties-Routine gibt Volumeeigenschafteninformationen für das angegebene Volume zurück.
Syntax
NTSTATUS FLTAPI FltGetVolumeProperties(
[in] PFLT_VOLUME Volume,
[out] PFLT_VOLUME_PROPERTIES VolumeProperties,
ULONG VolumePropertiesLength,
[out] PULONG LengthReturned
);
Parameter
[in] Volume
Undurchsichtiger Zeiger für das Volume. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[out] VolumeProperties
Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Volumeeigenschafteninformationen empfängt. Wenn Length bei der Eingabe 0 ist, wird dieser Parameter ignoriert. Andernfalls ist dieser Parameter erforderlich und darf nicht NULL sein.
VolumePropertiesLength
Größe des Puffers in Bytes, auf den der VolumeProperties-Parameter verweist. Dieser Parameter ist optional und kann null sein. Wenn es null ist, empfängt LengthReturned die Größe des Puffers in Bytes, der für die Volumeeigenschaften erforderlich ist. Wenn dieser Parameter nichtzero ist, muss er mindestens der Wert von sizeof(FLT_VOLUME_PROPERTIES)sein.
[out] LengthReturned
Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Größe der in VolumeProperties zurückgegebenen Informationen in Bytes empfängt. Wenn FltGetVolumeProperties STATUS_BUFFER_TOO_SMALL zurückgibt, oder wenn Length bei der Eingabe 0 ist, empfängt dieser Parameter stattdessen die Größe des Puffers in Bytes, der zum Halten der Volumeeigenschaften benötigt wird. Dieser Parameter ist erforderlich und darf nicht NULL sein.
Rückgabewert
FltGetVolumeProperties gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Der Puffer, auf den der VolumeProperties-Parameter verweist, ist groß genug, um den festen Teil der FLT_VOLUME_PROPERTIES-Struktur aufzunehmen, nicht jedoch die Member FileSystemDriverName, FileSystemDeviceName oder RealDeviceName . In diesem Fall wird nur der feste Teil der Volumeinformationen im Puffer zurückgegeben, auf den der VolumeProperties-Parameter verweist. Der LengthReturned-Parameter empfängt die tatsächliche Länge der zurückgegebenen Daten in Bytes. Dies ist ein Warncode. |
|
Der Puffer, auf den der VolumeProperties-Parameter verweist, ist nicht groß genug, um die Volumeeigenschafteninformationen zu enthalten. Der Parameter LengthReturned empfängt die erforderliche Puffergröße. In diesem Fall werden keine Volumeinformationen zurückgegeben. Dies ist ein Fehlercode. |
Hinweise
FltGetVolumeProperties gibt nur Informationen zurück, die während des Bereitstellungsprozesses ohne Risiko eines System-Deadlocks sicher abgefragt werden können. Daher ruft ein Minifiltertreiber diese Routine in der Regel über eine Rückruffunktion nach der Bereitstellung oder eine InstanzSetupCallback-Routine (PFLT_INSTANCE_SETUP_CALLBACK) auf, um zu bestimmen, ob an ein bestimmtes Volume angefügt werden soll.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (include Fltkernel.h) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |