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