Fungsi NtPrepareEnlistment (wdm.h)

Rutinitas ZwPrepareEnlistment memulai operasi pra-persiapan untuk transaksi pendaftaran tertentu.

Sintaks

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrePrepareEnlistment(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Parameter

[in] EnlistmentHandle

Handel ke objek pendaftaran yang diperoleh oleh panggilan sebelumnya ke ZwCreateEnlistment atau ZwOpenEnlistment. Objek harus mewakili pendaftaran yang unggul dan handel harus memiliki akses ENLISTMENT_SUPERIOR_RIGHTS ke objek.

[in, optional] TmVirtualClock

Penunjuk ke nilai jam virtual. Parameter ini bersifat opsional dan dapat berupa NULL.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_ENLISTMENT_NOT_SUPERIOR
Pemanggil bukan manajer transaksi yang unggul untuk pendaftaran.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
Pemanggil tidak mendaftar untuk menerima pemberitahuan TRANSACTION_NOTIFY_PREPREPARE_COMPLETE.
STATUS_OBJECT_TYPE_MISMATCH
Handel yang ditentukan bukan handel ke objek pendaftaran.
STATUS_INVALID_HANDLE
Handel objek tidak valid.
STATUS_ACCESS_DENIED
Pemanggil tidak memiliki akses yang sesuai ke objek pendaftaran.
STATUS_TRANSACTION_REQUEST_NOT_VALID
Transaksi pendaftaran tidak dalam keadaan yang memungkinkannya memasuki fase persiapan.
 

Rutinitas mungkin mengembalikan nilai NTSTATUS lainnya.

Keterangan

Hanya manajer transaksi unggul yang dapat memanggil ZwPrepareEnlistment.

Penelepon ZwPrepareEnlistment harus mendaftar untuk menerima pemberitahuan TRANSACTION_NOTIFY_PREPREPARE_COMPLETE.

Rutinitas ZwPrepareEnlistment menyebabkan KTM mengirim pemberitahuan TRANSACTION_NOTIFY_PREPREPARE ke semua manajer sumber daya yang telah mendaftar dalam transaksi.

Untuk informasi selengkapnya tentang ZwPrepareEnlistment, lihat Membuat Manajer Transaksi Yang Unggul dan Menangani Operasi Penerapan.

NtPrepareEnlistment dan ZwPrepareEnlistment adalah dua versi dari rutinitas Windows Native System Services 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 menginterpretasikan 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

TmPrePrepareEnlistment

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwCreateEnlistment

ZwOpenEnlistment