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

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

[in] EnlistmentGuid

識別登記之 GUID 的指標。 如需詳細資訊,請參閱接下來的<備註>一節。

[in, optional] ObjectAttributes

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

傳回值

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

傳回碼 Description
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 原生系統服務例程的兩個版本。

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

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 和更新版本的作業系統版本。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIS、 PowerIrpDDis

另請參閱

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

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

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment