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