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 di 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
Qualsiasi istruzione di transazione facoltativa.
Valore | Significato |
---|---|
|
La transazione non può essere distribuita. |
[in, optional] IsolationLevel
Riservato; specificare zero (0).
[in, optional] IsolationFlags
Riservato; specificare zero (0).
[in, optional] Timeout
Intervallo di timeout, espresso 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 dell'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 estese sull'errore, chiamare la funzione GetLastError
L'elenco seguente identifica i possibili codici di errore:
Osservazioni
Utilizzare la funzione CloseHandle
Se la transazione potrebbe dover essere promozionale a una transazione distribuita, è necessario concedere i diritti di accesso Distributed Transaction Coordinator (DTC) per l'integrazione 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-28183575)84-3387065753-4000393942-342927828-138088443) e il diritto di TRANSACTION_ENLIST. Per altre informazioni, vedere Distributed Transaction Coordinator e Componenti di controllo di accesso.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
server minimo supportato | Windows Server 2008 |
piattaforma di destinazione | Finestre |
intestazione |
ktmw32.h |
libreria |
KtmW32.lib |
dll | KtmW32.dll |
Vedere anche
Distributed Transaction Coordinator