Freigeben über


IoGetLowerDeviceObject-Funktion (ntifs.h)

Die IoGetLowerDeviceObject Routine gibt einen Zeiger auf das nächste Geräteobjekt auf der unteren Ebene im Treiberstapel zurück.

Syntax

PDEVICE_OBJECT IoGetLowerDeviceObject(
  [in] PDEVICE_OBJECT DeviceObject
);

Parameter

[in] DeviceObject

Ein Zeiger auf das Geräteobjekt im Stapel, für den das objekt der nächsten unteren Ebene zurückgegeben werden soll.

Rückgabewert

IoGetLowerDeviceObject gibt einen Zeiger auf das Gerätobjekt der nächsten unteren Ebene im Treiberstapel zurück.

Bemerkungen

Wenn ein Zeiger auf ein Geräteobjekt in einem Dateisystem- oder Gerätetreiberstapel vorhanden ist, gibt IoGetLowerDeviceObject- einen Zeiger auf das Gerätobjekt der nächsten unteren Ebene im Stapel zurück.

IoGetLowerDeviceObject gibt NULL zurück, wenn:

  • Der Treiber der nächsten unteren Ebene wird nicht geladen.

  • Der Treiber der nächsten unteren Ebene wird derzeit entladen, entfernt oder gelöscht.

  • Das Geräteobjekt, auf das von DeviceObject verwiesen wird, ist das niedrigste Geräteobjekt im Treiberstapel.

Ein Dateisystemfiltertreiber verwendet in der Regel IoGetLowerDeviceObject-, um festzustellen, ob er bereits an den Filtertreiberstapel angefügt ist, der über einem bestimmten Dateisystemgerätobjekt verkettet ist. Zuerst ruft der Filter IoGetAttachedDeviceReference auf, um einen Zeiger auf das oberste Geräteobjekt im Stapel abzurufen. Anschließend wird IoGetLowerDeviceObject wiederholt aufgerufen, um den Treiberstapel zu durchlaufen, und überprüft jedes Geräteobjekt, um festzustellen, ob das Objekt zum Filtertreiber gehört.

IoGetLowerDeviceObject erhöht die Verweisanzahl für das Gerätobjekt der nächsten unteren Ebene, falls vorhanden. Daher muss jeder Aufruf von IoGetLowerDeviceObject, der nicht NULL zurückgibt, mit einem nachfolgenden Aufruf ObDereferenceObjectabgeglichen werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 SP4 Update Rollup; Windows XP
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL

Siehe auch

IoGetAttachedDevice

IoGetAttachedDeviceReference

ObDereferenceObject