FltEnumerateInstanceInformationByDeviceObject-Funktion (fltkernel.h)
Die FltEnumerateInstanceInformationByDeviceObject Routine stellt Informationen zu Minifiltertreiberinstanzen und älteren Filtertreibern bereit, die an das Volume im Zusammenhang mit einem angegebenen Geräteobjekt angefügt sind.
Syntax
NTSTATUS FLTAPI FltEnumerateInstanceInformationByDeviceObject(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Parameter
[in] DeviceObject
Das Geräteobjekt für das zugehörige Dateiobjekt oder das zugehörige Volume.
[in] Index
Nullbasierter Index der Minifiltertreiberinstanz oder des Legacyfiltertreibers, für den die Informationen angefordert werden.
[in] InformationClass
Typ der Informationen, die für die Minifiltertreiberinstanz oder den Legacyfiltertreiber zurückgegeben werden sollen. Dieser Parameter kann einen der folgenden Werte aufweisen.
Wert | Bedeutung |
---|---|
InstanceBasicInformation- | Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_BASIC_INFORMATION Struktur für eine Minifilterinstanz. Legacyfiltertreiber werden ignoriert. |
InstanceFullInformation- | Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_FULL_INFORMATION Struktur für eine Minifilterinstanz. Legacyfiltertreiber werden ignoriert. |
InstancePartialInformation- | Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_PARTIAL_INFORMATION Struktur für eine Minifilterinstanz. Legacyfiltertreiber werden ignoriert. |
InstanceAggregateStandardInformation | Der Puffer, auf den der Parameter Buffer verweist, empfängt eine INSTANCE_AGGREGATE_STANDARD_INFORMATION Struktur für eine Minifiltertreiberinstanz oder einen Legacyfiltertreiber. |
[out] Buffer
Zeigen Sie auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Informationen empfängt. Der Typ der im Puffer zurückgegebenen Informationen wird durch den parameter InformationClass definiert.
[in] BufferSize
Größe des Puffers, auf den der Buffer Parameter verweist, in Byte. Der Aufrufer sollte diesen Parameter gemäß dem angegebenen InformationClass-wert festlegen.
[out] BytesReturned
Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Anzahl der im Puffer zurückgegebenen Bytes empfängt, auf die Buffer verweist. Wenn der Eingabewert von BufferSize zu klein ist, gibt FltEnumerateInstanceInformationByDeviceObjectSTATUS_BUFFER_TOO_SMALL zurück und legt diese Variable auf die Anzahl der Bytes fest, die zum Speichern der angeforderten Informationen erforderlich sind. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
Rückgabewert
FltEnumerateInstanceInformationByDeviceObject gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS--Wert zurück, z. B. einen der folgenden Werte:
Rückgabecode | Beschreibung |
---|---|
|
Der Puffer, auf den der Buffer Parameter verweist, ist nicht groß genug, um die angeforderten Informationen zu speichern. |
|
Es wurde eine übereinstimmende Minifilterinstanz gefunden, aber sie wird heruntergerissen. Beachten Sie, dass dieser Rückgabewert nicht für Legacyfiltertreiber gilt, da legacyfiltertreiber nicht entladen werden können. |
|
Für den parameter InformationClass wurde ein ungültiger Wert angegeben. |
|
Es gibt keine weiteren Einträge in der Instanz-/Filterliste des Volumes. |
|
Für DeviceObject-wurde kein zugehöriges Volume gefunden. |
|
DeviceObject- kein gültiges Volumegerätobjekt ist.
-oder- Das Volume im Zusammenhang mit DeviceObject- wurde registriert, verfügt jedoch nicht über angefügte Filterinstanzen. |
Bemerkungen
Die Verwendung des Index Parameters ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByDeviceObject, zwischen Minifiltertreiberinstanzen und älteren Filtertreibern in der Instanz-/Filterliste für das Volume auszuwählen, das mit DeviceObjectverknüpft ist. Da sich die Minifiltertreiberinstanzen in der Instanz-/Filterliste jederzeit ändern können, sind zwei Aufrufe von FltEnumerateInstanceInformationByDeviceObject mit demselben Index- und DeviceObject- Werten nicht garantiert, dasselbe Ergebnis zurückzugeben.
Diese Routine gibt sowohl Legacyfiltertreiberinformationen als auch Minifilter-Treiberinstanzinformationen zurück, wenn der Wert des InformationClass Parameter InstanceAggregateStandardInformationist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8. |
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
IRQL- | <= APC_LEVEL |
Siehe auch
FltEnumerateInstanceInformationByFilter