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 |
---|---|
|
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
Distributed Transaction Coordinator