Bagikan melalui


Fungsi NtOpenTransaction (wdm.h)

Rutinitas ZwOpenTransaction mendapatkan handel ke objek transaksi yang ada.

Sintaks

__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenTransaction(
  [out]          PHANDLE            TransactionHandle,
  [in]           ACCESS_MASK        DesiredAccess,
  [in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
  [in]           LPGUID             Uow,
  [in, optional] HANDLE             TmHandle
);

Parameter

[out] TransactionHandle

Pointer ke variabel yang dialokasikan penelepon yang menerima handel ke objek transaksi jika ZwOpenTransaction mengembalikan STATUS_SUCCESS.

[in] DesiredAccess

Nilai ACCESS_MASK yang menentukan akses pemanggil yang diminta ke objek transaksi. Untuk informasi tentang cara menentukan parameter ini, lihat parameter DesiredAccess dari ZwCreateTransaction.

[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 ObjectAttributes bersifat opsional dan dapat berupa NULL.

[in] Uow

Penunjuk ke GUID yang merupakan pengidentifikasi unit kerja (UOW) objek transaksi. GUID ini mengidentifikasi objek transaksi yang akan dibuka.

[in, optional] TmHandle

Handel ke objek manajer transaksi. Jika parameter ini bukan NULL, KTM hanya mencari objek transaksi milik objek manajer transaksi yang ditentukan. Jika parameter ini NULL, KTM mencari semua objek transaksi.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter DesiredAccess atau Uow adalah nol.
STATUS_OBJECT_TYPE_MISMATCH
Handel yang ditentukan bukan handel untuk objek transaksi.
STATUS_INVALID_HANDLE
Handel objek tidak valid.
STATUS_TRANSACTION_NOT_FOUND
KTM tidak dapat menemukan objek transaksi.
STATUS_ACCESS_DENIED
Nilai parameter DesiredAccess tidak valid.
 

Rutinitas mungkin mengembalikan nilai NTSTATUS lainnya.

Keterangan

Biasanya, manajer sumber daya memanggil ZwOpenTransaction setelah menerima UOW transaksi dari klien transaksional yang sebelumnya disebut ZwCreateTransaction.

Untuk informasi selengkapnya tentang ZwOpenTransaction, lihat Membuat Resource Manager.

NtOpenTransaction dan ZwOpenTransaction 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

ZwCommitTransaction

ZwCreateTransaction

ZwQueryInformationTransaction

ZwRollbackTransaction