FltEnumerateInstanceInformationByDeviceObject-Funktion (fltkernel.h)
Die FltEnumerateInstanceInformationByDeviceObject-Routine stellt Informationen zu Minifiltertreiberinstanzen und Legacyfiltertreibern 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 Volume.
[in] Index
Nullbasierter Index des Minifiltertreibers instance oder Legacyfiltertreibers, für den die Informationen angefordert werden.
[in] InformationClass
Typ der Informationen, die für den Minifiltertreiber instance oder Legacyfiltertreiber zurückgegeben werden sollen. Dieser Parameter kann einen der folgenden Werte aufweisen.
Wert | Bedeutung |
---|---|
InstanceBasicInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_BASIC_INFORMATION-Struktur für einen Minifilter instance. Ältere Filtertreiber werden ignoriert. |
InstanceFullInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_FULL_INFORMATION-Struktur für einen Minifilter instance. Ältere Filtertreiber werden ignoriert. |
InstancePartialInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_PARTIAL_INFORMATION-Struktur für einen Minifilter instance. Ältere Filtertreiber werden ignoriert. |
InstanceAggregateStandardInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_AGGREGATE_STANDARD_INFORMATION-Struktur für einen Minifiltertreiber instance oder Legacyfiltertreiber. |
[out] Buffer
Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Informationen empfängt. Der Typ der im Puffer zurückgegebenen Informationen wird durch den InformationClass-Parameter definiert.
[in] BufferSize
Größe des Puffers in Byte, auf den der Buffer-Parameter zeigt. Der Aufrufer sollte diesen Parameter entsprechend dem angegebenen InformationClass-Wert festlegen.
[out] BytesReturned
Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Anzahl der Bytes empfängt, die im Puffer zurückgegeben werden, auf den Buffer verweist. Wenn der Eingabewert von BufferSize zu klein ist, gibt FltEnumerateInstanceInformationByDeviceObjectSTATUS_BUFFER_TOO_SMALL zurück und legt diese Variable auf die Anzahl von Bytes fest, die zum Speichern der angeforderten Informationen erforderlich sind. Dieser Parameter ist erforderlich und darf nicht NULL sein.
Rückgabewert
FltEnumerateInstanceInformationByDeviceObject gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Der Puffer, auf den der Buffer-Parameter verweist, ist nicht groß genug, um die angeforderten Informationen zu speichern. |
|
Es wurde ein passender Minifilter instance gefunden, der jedoch abgerissen wird. Beachten Sie, dass dieser Rückgabewert nicht für Ältere Filtertreiber gilt, da ältere Filtertreiber nicht entladen werden können. |
|
Für den InformationClass-Parameter wurde ein ungültiger Wert angegeben. |
|
Es gibt keine weiteren Einträge in der instance-/Filterliste des Volumes. |
|
Für DeviceObject wurde kein verwandtes Volume gefunden. |
|
DeviceObject ist kein gültiges Volumegerätobjekt.
Oder Das Volume im Zusammenhang mit DeviceObject wurde registriert, verfügt aber nicht über angefügte Filterinstanzen. |
Hinweise
Die Verwendung des Index-Parameters ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByDeviceObject, zwischen Minifiltertreiberinstanzen und Legacyfiltertreibern in der instance-/Filterliste für das Volume auszuwählen, das sich auf DeviceObject bezieht. Da sich die Minifiltertreiberinstanzen in der instance-/Filterliste jederzeit ändern können, werden zwei Aufrufe von FltEnumerateInstanceInformationByDeviceObject mit denselben Index- und DeviceObject-Werten nicht garantiert das gleiche Ergebnis zurückgeben.
Diese Routine gibt sowohl Legacyfiltertreiberinformationen als auch Minifiltertreiberinformationen instance Informationen zurück, wenn der Wert des InformationClass-ParametersInstanceAggregateStandardInformation ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
IRQL | <= APC_LEVEL |
Weitere Informationen
FltEnumerateInstanceInformationByFilter