Freigeben über


CreateTransaction-Funktion (ktmw32.h)

Erstellt ein neues Transaktionsobjekt.

Syntax

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

Ein Zeiger auf eine SECURITY_ATTRIBUTES Struktur, die bestimmt, ob das zurückgegebene Handle von untergeordneten Prozessen geerbt werden kann. Wenn dieser Parameter NULL-ist, kann das Handle nicht geerbt werden.

Der lpSecurityDescriptor Mitglied der Struktur gibt einen Sicherheitsdeskriptor für das neue Ereignis an. Wenn lpTransactionAttributes-NULL-ist, ruft das Objekt einen Standardsicherheitsdeskriptor ab. Die Zugriffssteuerungslisten (Access Control Lists, ACL) im Standardsicherheitsdeskriptor für eine Transaktion stammen aus dem primären oder Identitätswechseltoken des Erstellers.

[in, optional] UOW

Reserviert. Muss null (0) sein.

[in, optional] CreateOptions

Alle optionalen Transaktionsanweisungen.

Wert Bedeutung
TRANSACTION_DO_NOT_PROMOTE
Die Transaktion kann nicht verteilt werden.

[in, optional] IsolationLevel

Reserviert; Geben Sie Null (0) an.

[in, optional] IsolationFlags

Reserviert; Geben Sie Null (0) an.

[in, optional] Timeout

Das Timeoutintervall in Millisekunden. Wenn ein Wert ungleich Null angegeben wird, wird die Transaktion abgebrochen, wenn das Intervall verstrichen ist, wenn er den vorbereiteten Zustand noch nicht erreicht hat.

Geben Sie Null (0) oder INFINITE an, um ein unendliches Timeout bereitzustellen.

[in, optional] Description

Eine vom Benutzer lesbare Beschreibung der Transaktion.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für die Transaktion.

Wenn die Funktion fehlschlägt, wird der Rückgabewert INVALID_HANDLE_VALUE. Rufen Sie zum Abrufen erweiterter Fehlerinformationen die GetLastError--Funktion auf.

Die folgende Liste identifiziert die möglichen Fehlercodes:

Bemerkungen

Verwenden Sie die CloseHandle--Funktion, um das Transaktionshandle zu schließen. Wenn der letzte Transaktionshandle geschlossen wird, bevor ein Client die CommitTransaction- Funktion mit dem Transaktionshandle aufruft, setzt KTM die Transaktion zurück.

Wenn die Transaktion möglicherweise für eine verteilte Transaktion promotable sein muss, müssen Sie dem Distributed Transaction Coordinator (DTC) Zugriffsrechte für die Teilnahme an der Transaktion erteilen. Gehen Sie dazu wie folgt vor: der parameter lpTransactionAttributes muss einen Zugriffssteuerungseintrag mit der DTC-SID (S-1-5-80-2818357584-3387065753-4000393942-342927828-138088443) und dem TRANSACTION_ENLIST rechts enthalten. Weitere Informationen finden Sie unter Distributed Transaction Coordinator und Access Control Components.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
mindestens unterstützte Server- Windows Server 2008
Zielplattform- Fenster
Header- ktmw32.h
Library KtmW32.lib
DLL- KtmW32.dll

Siehe auch

CommitTransaction-

Distributed Transaction Coordinator

Kernel Transaction Manager Functions

RollbackTransaction-

SECURITY_ATTRIBUTES

SetTransactionInformation-