Freigeben über


IoGetDeviceAttachmentBaseRef-Funktion (ntifs.h)

Die IoGetDeviceAttachmentBaseRef Routine gibt einen Zeiger auf das Geräteobjekt auf der niedrigsten Ebene in einem Dateisystem- oder Gerätetreiberstapel zurück.

Syntax

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

Parameter

[in] DeviceObject

Ein Zeiger auf ein Geräteobjekt im Stapel.

Rückgabewert

IoGetDeviceAttachmentBaseRef- gibt einen Zeiger auf das Geräteobjekt unten im Dateisystem- oder Gerätetreiberstapel zurück. Wenn das angegebene Geräteobjekt nicht an einen Treiberstapel angefügt ist, gibt IoGetDeviceAttachmentBaseRef den Geräteobjektzeiger in DeviceObject-zurück.

Bemerkungen

Ein Dateisystemfiltertreiber ruft in der Regel IoGetDeviceAttachmentBaseRef- auf, um das Objekt der niedrigsten Ebene in einem Dateisystemtreiberstapel abzurufen. Dies geschieht häufig, wenn der Filtertreiber Benachrichtigung erhält, dass sich ein Dateisystem als aktives Dateisystem registriert oder die Registrierung aufgehoben hat. Die Rückrufroutine des Filtertreibers ruft IoGetDeviceAttachmentBaseRef auf, um einen Zeiger auf das Steuerelementgerätobjekt des Dateisystems abzurufen, und ruft dann ObQueryNameString- auf, um den Namen dieses Objekts für Debuggingzwecke abzurufen.

IoGetDeviceAttachmentBaseRef erhöht die Verweisanzahl auf dem Geräteobjekt am unteren Rand des Stapels. Daher muss jeder erfolgreiche Aufruf von IoGetDeviceAttachmentBaseRef mit einem nachfolgenden Aufruf von 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

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange-

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString-