共用方式為


NtOpenEnlistment 函式 (wdm.h)

ZwOpenEnlistment 例程會取得現有 登記物件的句柄

語法

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenEnlistment(
  [out]          PHANDLE            EnlistmentHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in]           HANDLE             ResourceManagerHandle,
  [in]           LPGUID             EnlistmentGuid,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);

參數

[out] EnlistmentHandle

呼叫端配置變數的指標,如果呼叫 ZwOpenEnlistment 成功,則會接收登記物件的句柄。

[in] DesiredAccess

ACCESS_MASK型別值,指定對登記物件的要求存取權。 如需如何指定此參數的詳細資訊,請參閱 ZwCreateEnlistmentDesiredAccess 參數。 此參數不可為零。

[in] ResourceManagerHandle

先前呼叫 ZwCreateResourceManager ZwOpenResourceManager取得的資源管理員物件的句柄。

[in] EnlistmentGuid

識別登記之 GUID 的指標。 如需詳細資訊,請參閱下列一節。

[in, optional] ObjectAttributes

指定物件屬性之 OBJECT_ATTRIBUTES 結構的指標。 使用 InitializeObjectAttributes 例程來初始化這個結構,但只指定例程的 InitializedAttributesAttributes 參數。 如果呼叫端未在系統線程內容中執行,則必須在 Attributes 參數中設定OBJ_KERNEL_HANDLE旗標。 這個參數是選擇性的,而且可以 NULL

傳回值

如果作業成功,ZwOpenEnlistment 會傳回STATUS_SUCCESS。 否則,此例程可能會傳回下列其中一個值:

傳回碼 描述
STATUS_INVALID_HANDLE
物件句柄無效。
STATUS_ACCESS_DENIED
呼叫端沒有適當的登記物件存取權。
STATUS_INVALID_PARAMETER
DesiredAccess 參數的值為零,或 EnlistmentGuid 參數的值 NULL
STATUS_ENLISTMENT_NOT_FOUND
EnlistmentGuid 參數指定的資源管理員不存在的登記,RmHandle 參數所指定的資源管理員。
STATUS_ACCESS_DENIED
DesiredAccess 參數的值無效。
 

例程可能會 傳回其他NTSTATUS 值。

言論

一般而言,TPS 元件會在收到先前呼叫 ZwCreateEnlistment的另一個 TPS 元件收到登記 GUID 之後,ZwOpenEnlistment 呼叫。 大部分 TPS 設計都不需要呼叫 ZwOpenEnlistment

呼叫 ZwOpenEnlistment 的資源管理員最終必須呼叫 ZwClose ,才能關閉物件句柄。

如需 ZwOpenEnlistment 的詳細資訊,請參閱 登記物件

NtOpenEnlistmentZwOpenEnlistment 是相同 Windows Native System Services 例程的兩個版本。

對於內核模式驅動程式的呼叫,NtXxxZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxxZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程

要求

要求 價值
最低支援的用戶端 適用於 Windows Vista 和更新版本的作系統版本。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs, PowerIrpDDis

另請參閱

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

使用 Nt 和 Zw 版本的原生系統服務例程

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment