IoGetDeviceAttachmentBaseRef 函式 (ntifs.h)

IoGetDeviceAttachmentBaseRef 例程會傳回文件系統或設備驅動器堆疊中最低層級裝置物件的指標。

語法

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

參數

[in] DeviceObject

堆疊中裝置物件的指標。

傳回值

IoGetDeviceAttachmentBaseRef 會傳回文件系統或設備驅動器堆疊底部之裝置物件的指標。 如果指定的裝置物件未附加至驅動程式堆疊, IoGetDeviceAttachmentBaseRef 會傳回 DeviceObject 中的裝置對象指標。

備註

文件系統篩選驅動程式通常會呼叫 IoGetDeviceAttachmentBaseRef ,以取得文件系統驅動程式堆疊中的最低層級裝置物件。 當篩選驅動程式收到文件系統已註冊或取消註冊為使用中文件系統的通知時,通常會這麼做。 篩選驅動程式的通知回呼例程會呼叫 IoGetDeviceAttachmentBaseRef 以取得文件系統控制裝置物件的指標,然後呼叫 ObQueryNameString 來擷取此物件的名稱以進行偵錯。

IoGetDeviceAttachmentBaseRef 會在堆棧底部的裝置物件上遞增參考計數。 因此,每次成功呼叫 IoGetDeviceAttachmentBaseRef 時,都必須符合 後續對 ObDereferenceObject 的呼叫。

規格需求

需求
最低支援的用戶端 Windows 2000 SP4 更新匯總;Windowsxp
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另請參閱

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString