Funzione CreateTransaction (ktmw32.h)
Crea un nuovo oggetto transazione.
Sintassi
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
);
Parametri
[in, optional] lpTransactionAttributes
Puntatore a una struttura SECURITY_ATTRIBUTES che determina se l'handle restituito può essere ereditato dai processi figlio. Se questo parametro è NULL, l'handle non può essere ereditato.
Il membro lpSecurityDescriptor della struttura specifica un descrittore di sicurezza per il nuovo evento. Se lpTransactionAttributes è NULL, l'oggetto ottiene un descrittore di sicurezza predefinito. Gli elenchi di controllo di accesso (ACL) nel descrittore di sicurezza predefinito per una transazione provengono dal token primario o di rappresentazione dell'autore.
[in, optional] UOW
Riservato. Deve essere zero (0).
[in, optional] CreateOptions
Tutte le istruzioni facoltative sulle transazioni.
Valore | Significato |
---|---|
|
Impossibile distribuire la transazione. |
[in, optional] IsolationLevel
Riservati; specificare zero (0).
[in, optional] IsolationFlags
Riservati; specificare zero (0).
[in, optional] Timeout
Intervallo di timeout, in millisecondi. Se viene specificato un valore diverso da zero, la transazione verrà interrotta al termine dell'intervallo se non ha già raggiunto lo stato preparato.
Specificare zero (0) o INFINITE per fornire un timeout infinito.
[in, optional] Description
Descrizione leggibile dall'utente della transazione.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle per la transazione.
Se la funzione ha esito negativo, il valore restituito è INVALID_HANDLE_VALUE. Per ottenere informazioni sull'errore estese, chiamare la funzione GetLastError .
L'elenco seguente identifica i possibili codici di errore:
Commenti
Usare la funzione CloseHandle per chiudere l'handle delle transazioni. Se l'ultimo handle di transazione viene chiuso prima che un client chiami la funzione CommitTransaction con l'handle delle transazioni, KTM esegue il rollback della transazione.
Se la transazione potrebbe essere promozionale a una transazione distribuita, è necessario concedere i diritti di accesso Distributed Transaction Coordinator (DTC) per l'inserimento nella transazione. A tale scopo, il parametro lpTransactionAttributes deve contenere una voce di controllo di accesso con il SID del DTC (S-1-5-80-28183575844-3387065753-400039393942-342927828-13808443) e il diritto di TRANSACTION_ENLIST. Per altre informazioni, vedere Distributed Transaction Coordinator e Controllo di accesso Components.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | ktmw32.h |
Libreria | KtmW32.lib |
DLL | KtmW32.dll |
Vedi anche
Distributed Transaction Coordinator