ZwOpenSymbolicLinkObject 函式 (wdm.h)
ZwOpenSymbolicLinkObject 例程會開啟現有的符號連結。
語法
NTSYSAPI NTSTATUS ZwOpenSymbolicLinkObject(
[out] PHANDLE LinkHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
參數
[out] LinkHandle
HANDLE 變數的指標,該變數會接收符號連結物件的句柄。
[in] DesiredAccess
指定 ACCESS_MASK 值,決定對物件的要求存取。 呼叫端通常會指定GENERIC_READ,以便將句柄傳遞至 ZwQuerySymbolicLinkObject。
[in] ObjectAttributes
指定物件名稱和其他屬性 之OBJECT_ATTRIBUTES 結構的指標。 使用 InitializeObjectAttributes 初始化這個結構。 如果呼叫端未在系統線程內容中執行,它必須在呼叫 InitializeObjectAttributes 時設定OBJ_KERNEL_HANDLE屬性。
傳回值
ZwOpenSymbolicLinkObject 會傳回成功或適當錯誤狀態STATUS_SUCCESS。
備註
LinkHandle 所指向的句柄不再使用之後,驅動程式必須呼叫 ZwClose 以關閉它。
如果呼叫端未在系統線程內容中執行,則必須確保它建立的任何句柄都是私用句柄。 否則,進程可以在其內容中執行驅動程式的句柄來存取。 如需詳細資訊,請參閱 物件句柄。
如果在使用者模式中呼叫 ZwOpenSymbolicLinkObject 函式,您應該使用名稱 “NtOpenSymbolicLinkObject”,而不是 “ZwOpenSymbolicLinkObject”。
NtOpenSymbolicLinkObject 和 ZwOpenSymbolicLinkObject 是相同 Windows 原生系統服務例程的兩個版本。 Windows 核心中的 NtOpenSymbolicLinkObject 例程無法直接存取內核模式驅動程式。 不過,內核模式驅動程式可以藉由呼叫 ZwOpenSymbolicLinkObject 例程,間接存取此例程。
針對來自內核模式驅動程式的呼叫,Windows 原生系統服務例程的 NtXxx 和 ZwXxx 版本會以處理和解譯輸入參數的方式,以不同的方式運作。 如需 例程 NtXxx 和 ZwXxx 版本之間關聯性的詳細資訊,請參閱 使用原生系統服務例程的 Nt 和 Zw 版本。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) 、 PowerIrpDDis (wdm) |