Fungsi CreateEnlistment (ktmw32.h)

Membuat pendaftaran, mengatur status awalnya, dan membuka handel ke pendaftaran dengan akses yang ditentukan.

Sintaks

HANDLE CreateEnlistment(
  [in, optional] LPSECURITY_ATTRIBUTES lpEnlistmentAttributes,
  [in]           HANDLE                ResourceManagerHandle,
  [in]           HANDLE                TransactionHandle,
  [in]           NOTIFICATION_MASK     NotificationMask,
  [in, optional] DWORD                 CreateOptions,
  [in, optional] PVOID                 EnlistmentKey
);

Parameter

[in, optional] lpEnlistmentAttributes

Penunjuk ke struktur SECURITY_ATTRIBUTES yang berisi atribut keamanan untuk manajer pendaftaran. Tentukan NULL untuk mendapatkan atribut default.

[in] ResourceManagerHandle

Handel ke resource manager (RM) untuk mendaftar.

[in] TransactionHandle

Handel ke transaksi tempat RM mendaftar.

[in] NotificationMask

Pemberitahuan yang diminta RM ini untuk parameter TransactionHandle . Untuk daftar nilai yang valid, lihat NOTIFICATION_MASK.

[in, optional] CreateOptions

Instruksi pendaftaran opsional apa pun.

Nilai Makna
ENLISTMENT_SUPERIOR
1
Mendaftar sebagai manajer transaksi yang unggul.

[in, optional] EnlistmentKey

Penunjuk ke struktur yang ditentukan pengguna yang digunakan oleh RM yang dikembalikan saat pemberitahuan dikirim dalam struktur TRANSACTION_NOTIFICATION . Ini biasanya digunakan untuk mengaitkan struktur privat dengan transaksi khusus ini.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke pendaftaran.

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

Windows Vista: Setiap upaya untuk mendaftar selama fase pra-persiapan atau nanti akan gagal.

Jika Anda tidak menentukan dalam masker pemberitahuan bahwa Anda menerima permintaan penerapan fase tunggal, KTM selalu melakukan operasi penerapan dua fase.

Ingatlah aturan pemberitahuan berikut saat mendaftar dalam transaksi:

  • RM harus selalu meminta pemberitahuan putar kembali.
  • Jika permintaan RM menyiapkan pemberitahuan, RM juga harus meminta pemberitahuan penerapan.
  • Jika RM meminta operasi penerapan fase tunggal, RM juga harus menentukan pemberitahuan persiapan dan penerapan.
  • Satu-satunya waktu RM tidak diperlukan untuk meminta pemberitahuan penerapan adalah ketika meminta setidaknya sepasang pemberitahuan persiapan dan pembatalan.

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

CommitComplete

CommitEnlistment

Fungsi Manajer Transaksi Kernel

NOTIFICATION_MASK

OpenEnlistment

TRANSACTION_NOTIFICATION