IoGetLowerDeviceObject 函式 (ntifs.h)
IoGetLowerDeviceObject 例程會傳回驅動程式堆棧上下一層裝置物件的指標。
語法
PDEVICE_OBJECT IoGetLowerDeviceObject(
[in] PDEVICE_OBJECT DeviceObject
);
參數
[in] DeviceObject
堆疊中要傳回下一個較低層級裝置物件的裝置物件的指標。
傳回值
IoGetLowerDeviceObject 會傳回驅動程式堆疊上下一層裝置物件的指標。
言論
指定文件系統或設備驅動器堆疊中裝置物件的指標,IoGetLowerDeviceObject 會傳回堆疊上下一層裝置物件的指標。
IoGetLowerDeviceObject 如果:
不會載入下一個較低層級的驅動程式。
下一個較低層級的驅動程式目前正在卸除、移除或刪除。
DeviceObject 所指向的裝置物件 是驅動程式堆疊中最低的裝置物件。
文件系統篩選驅動程式通常會使用 IoGetLowerDeviceObject 來判斷它是否已經附加至連結在指定文件系統裝置物件上方的篩選驅動程式堆疊。 首先,篩選會呼叫 IoGetAttachedDeviceReference,以取得堆棧中最上層裝置物件的指標。 然後它會呼叫 IoGetLowerDeviceObject 重複執行驅動程式堆疊,檢查每個裝置物件以查看物件是否屬於篩選驅動程式。
IoGetLowerDeviceObject 如果有的話,會在下一個較低層級的裝置物件上遞增參考計數。 因此,IoGetLowerDeviceObject 不會傳回 NULL 的每個呼叫,都必須比對後續呼叫 ObDereferenceObject。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 SP4 更新匯總;Windows XP |
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |