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-Member der -Struktur gibt einen Sicherheitsdeskriptor für das neue Ereignis an. Wenn lpTransactionAttributesNULL ist, ruft das Objekt einen Standardsicherheitsdeskriptor ab. Die Zugriffssteuerungslisten (Access Control Lists, ACL) im Standardsicherheitsdeskriptor für eine Transaktion stammen aus dem primären Token oder dem Identitätswechseltoken des Erstellers.

[in, optional] UOW

Reserviert. Muss null (0) sein.

[in, optional] CreateOptions

Beliebige optionale 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 sie den vorbereiteten Zustand noch nicht erreicht hat.

Geben Sie null (0) oder INFINITE an, um ein unbegrenztes Timeout bereitzustellen.

[in, optional] Description

Eine benutzerlesbare 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, ist der Rückgabewert INVALID_HANDLE_VALUE. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie die GetLastError-Funktion auf.

Die folgende Liste identifiziert die möglichen Fehlercodes:

Hinweise

Verwenden Sie die CloseHandle-Funktion , um das Transaktionshandle zu schließen. Wenn das letzte Transaktionshandle geschlossen wird, bevor ein Client die CommitTransaction-Funktion mit dem Transaktionshandle aufruft, führt KTM ein Rollback für die Transaktion aus.

Wenn die Transaktion möglicherweise für eine verteilte Transaktion heraufstufbar sein muss, müssen Sie dem Distributed Transaction Coordinator (DTC) Zugriffsrechte für die Registrierung in der Transaktion gewähren. Dazu muss der lpTransactionAttributes-Parameter 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
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile ktmw32.h
Bibliothek KtmW32.lib
DLL KtmW32.dll

Weitere Informationen

Committransaction

Distributed Transaction Coordinator

Kerneltransaktions-Manager-Funktionen

RollbackTransaction

SECURITY_ATTRIBUTES

SetTransactionInformation