Fungsi CreateTransaction (ktmw32.h)

Membuat objek transaksi baru.

Sintaks

HANDLE CreateTransaction(
  [in, optional] LPSECURITY_ATTRIBUTES lpTransactionAttributes,
  [in, optional] LPGUID                UOW,
  [in, optional] DWORD                 CreateOptions,
  [in, optional] DWORD                 IsolationLevel,
  [in, optional] DWORD                 IsolationFlags,
  [in, optional] DWORD                 Timeout,
  [in, optional] LPWSTR                Description
);

Parameter

[in, optional] lpTransactionAttributes

Penunjuk ke struktur SECURITY_ATTRIBUTES yang menentukan apakah handel yang dikembalikan dapat diwariskan oleh proses anak. Jika parameter ini NULL, handel tidak dapat diwariskan.

Anggota lpSecurityDescriptor dari struktur menentukan deskriptor keamanan untuk peristiwa baru. Jika lpTransactionAttributes adalah NULL, objek akan mendapatkan pendeskripsi keamanan default. Daftar kontrol akses (ACL) dalam pendeskripsi keamanan default untuk transaksi berasal dari token utama atau peniruan dari pembuat.

[in, optional] UOW

Dicadangkan. Harus nol (0).

[in, optional] CreateOptions

Instruksi transaksi opsional apa pun.

Nilai Makna
TRANSACTION_DO_NOT_PROMOTE
Transaksi tidak dapat didistribusikan.

[in, optional] IsolationLevel

Dipesan; tentukan nol (0).

[in, optional] IsolationFlags

Dipesan; tentukan nol (0).

[in, optional] Timeout

Interval waktu habis, dalam milidetik. Jika nilai bukan nol ditentukan, transaksi akan dibatalkan ketika interval berlalu jika belum mencapai status yang disiapkan.

Tentukan nol (0) atau INFINITE untuk memberikan batas waktu tak terbatas.

[in, optional] Description

Deskripsi transaksi yang dapat dibaca pengguna.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah handel untuk transaksi.

Jika fungsi gagal, nilai yang dikembalikan INVALID_HANDLE_VALUE. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastError .

Daftar berikut mengidentifikasi kemungkinan kode kesalahan:

Keterangan

Gunakan fungsi CloseHandle untuk menutup handel transaksi. Jika handel transaksi terakhir ditutup sebelum klien memanggil fungsi CommitTransaction dengan handel transaksi, maka KTM mengembalikan transaksi.

Jika transaksi mungkin perlu diprogramkan ke transaksi terdistribusi, maka Anda harus memberikan hak akses Koordinator Transaksi Terdistribusi (DTC) untuk mendaftar dalam transaksi. Untuk melakukan ini, parameter lpTransactionAttributes perlu berisi entri kontrol akses dengan SID DTC (S-1-5-80-2818357584-3387065753-4000393942-342927828-138088443) dan kanan TRANSACTION_ENLIST. Untuk informasi selengkapnya, lihat Koordinator Transaksi Terdistribusi dan Komponen Access Control.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header ktmw32.h
Pustaka KtmW32.lib
DLL KtmW32.dll

Lihat juga

CommitTransaction

Koordinator Transaksi Terdistribusi

Fungsi Manajer Transaksi Kernel

RollbackTransaction

SECURITY_ATTRIBUTES

SetTransactionInformation