Bagikan melalui


Fungsi NtOpenEnlistment (wdm.h)

Rutinitas ZwOpenEnlistment mendapatkan handel ke objek pendaftaran yang ada.

Sintaks

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

Parameter

[out] EnlistmentHandle

Penunjuk ke variabel yang dialokasikan penelepon yang menerima handel ke objek pendaftaran jika panggilan ke ZwOpenEnlistment berhasil.

[in] DesiredAccess

Nilai ACCESS_MASK-ketik yang menentukan akses yang diminta ke objek pendaftaran. Untuk informasi selengkapnya tentang cara menentukan parameter ini, lihat parameter DesiredAccess dari ZwCreateEnlistment. Parameter ini tidak boleh nol.

[in] ResourceManagerHandle

Handel ke objek manajer sumber daya yang diperoleh oleh panggilan sebelumnya ke ZwCreateResourceManager atau ZwOpenResourceManager.

[in] EnlistmentGuid

Pointer ke GUID yang mengidentifikasi pendaftaran. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

[in, optional] ObjectAttributes

Penunjuk ke struktur OBJECT_ATTRIBUTES yang menentukan atribut objek. Gunakan rutinitas InitializeObjectAttributes untuk menginisialisasi struktur ini, tetapi tentukan hanya parameter InitializedAttributes dan Attributes rutin tersebut. Jika pemanggil tidak berjalan dalam konteks utas sistem, pemanggil harus mengatur bendera OBJ_KERNEL_HANDLE di parameter Atribut. Parameter ini bersifat opsional dan dapat berupa NULL.

Nilai kembali

ZwOpenEnlistment mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, rutinitas ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_HANDLE
Handel objek tidak valid.
STATUS_ACCESS_DENIED
Pemanggil tidak memiliki akses yang sesuai ke objek pendaftaran.
STATUS_INVALID_PARAMETER
Nilai parameter DesiredAccess adalah nol, atau nilai parameter EnlistmentGuid adalah NULL.
STATUS_ENLISTMENT_NOT_FOUND
Daftar yang ditentukan parameter EnlistmentGuid tidak ada untuk manajer sumber daya yang ditentukan parameter RmHandle .
STATUS_ACCESS_DENIED
Nilai parameter DesiredAccess tidak valid.
 

Rutinitas mungkin mengembalikan nilai NTSTATUS lainnya.

Keterangan

Biasanya, komponen TPS memanggil ZwOpenEnlistment setelah menerima GUID pendaftaran dari komponen TPS lain yang sebelumnya disebut ZwCreateEnlistment. Sebagian besar desain TPS tidak memerlukan panggilan ZwOpenEnlistment.

Manajer sumber daya yang memanggil ZwOpenEnlistment akhirnya harus memanggil ZwClose untuk menutup handel objek.

Untuk informasi selengkapnya tentang ZwOpenEnlistment, lihat Objek Pendaftaran.

NtOpenEnlistment dan ZwOpenEnlistment adalah dua versi dari rutinitas Layanan Sistem Asli Windows yang sama.

Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinitas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menafsirkan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi sistem operasi yang lebih baru.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Lihat juga

ACCESS_MASK

InitializeObjectAttributes

OBJECT_ATTRIBUTES

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwClose

ZwCreateEnlistment

ZwCreateResourceManager

ZwOpenResourceManager

ZwQueryInformationEnlistment

ZwSetInformationEnlistment