Fungsi ZwOpenTransactionManager (wdm.h)
Rutinitas ZwOpenTransactionManager mendapatkan handel ke objek manajer transaksi yang ada.
NTSYSCALLAPI NTSTATUS ZwOpenTransactionManager(
[out] PHANDLE TmHandle,
[in] ACCESS_MASK DesiredAccess,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PUNICODE_STRING LogFileName,
[in, optional] LPGUID TmIdentity,
[in, optional] ULONG OpenOptions
);
[out] TmHandle
Pointer ke variabel yang dialokasikan penelepon yang menerima handel ke objek manajer transaksi jika ZwOpenTransactionManager mengembalikan STATUS_SUCCESS.
[in] DesiredAccess
Nilai ACCESS_MASK yang menentukan akses pemanggil yang diminta ke objek manajer transaksi. Untuk informasi tentang cara menentukan parameter ini, lihat parameter DesiredAccess dari ZwCreateTransactionManager.
[in, optional] ObjectAttributes
Penunjuk ke struktur OBJECT_ATTRIBUTES yang menentukan nama objek dan atribut lainnya. Gunakan rutinitas InitializeObjectAttributes untuk menginisialisasi struktur ini. Jika penelepon tidak berjalan dalam konteks utas sistem, pemanggil harus mengatur atribut OBJ_KERNEL_HANDLE saat memanggil InitializeObjectAttributes. Parameter ini bersifat opsional dan dapat berupa NULL.
[in, optional] LogFileName
Penunjuk ke struktur UNICODE_STRING yang berisi jalur dan nama file aliran file log yang dibuat saat objek manajer transaksi dibuat. Untuk informasi selengkapnya, lihat parameter LogFileName dari ZwCreateTransactionManager. Parameter ini bersifat opsional dan dapat berupa NULL.
[in, optional] TmIdentity
Pointer ke GUID yang mengidentifikasi objek manajer transaksi. Parameter ini bersifat opsional dan dapat berupa NULL.
[in, optional] OpenOptions
Parameter ini tidak digunakan dan harus nol.
ZwOpenTransactionManager mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, rutinitas ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Nilai parameter input tidak valid. |
|
KTM tidak dapat mengalokasikan sumber daya sistem (biasanya memori). |
|
Nama objek yang ditentukan parameter ObjectAttributes tidak valid. |
|
KTM mengalami kesalahan saat membuat atau membuka file log. |
|
Nilai parameter DesiredAccess tidak valid. |
Rutinitas mungkin mengembalikan nilai NTSTATUS lainnya.
Pemanggil dapat mengidentifikasi objek manajer transaksi mana yang akan dibuka dengan menggunakan salah satu dari tiga teknik berikut:
- Gunakan parameter LogFileName untuk menentukan jalur dan nama file aliran file log yang dibuat saat objek manajer transaksi dibuat.
- Gunakan parameter TmIdentity untuk menentukan GUID yang mengidentifikasi objek manajer transaksi.
- Gunakan parameter ObjectAttributes untuk menyediakan struktur OBJECT_ATTRIBUTES yang berisi nama objek yang sebelumnya ditentukan pemanggil ke rutinitas ZwCreateTransactionManager .
Komponen TPS Anda harus memanggil ZwRecoverTransactionManager setelah disebut ZwOpenTransactionManager.
Komponen TPS yang memanggil ZwOpenTransactionManager akhirnya harus memanggil ZwClose untuk menutup handel objek.
Untuk informasi selengkapnya tentang cara menggunakan ZwOpenTransactionManager, lihat Objek Manajer Transaksi dan Membuat Resource Manager.
NtOpenTransactionManager dan ZwOpenTransactionManager 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 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 | 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(storport), PowerIrpDDis(wdm) |
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli