Función CreateTransaction (ktmw32.h)
Crea un nuevo objeto de transacción.
Sintaxis
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
);
Parámetros
[in, optional] lpTransactionAttributes
Puntero a una estructura de SECURITY_ATTRIBUTES que determina si los procesos secundarios pueden heredar el identificador devuelto. Si este parámetro es NULL, no se puede heredar el identificador.
El miembro lpSecurityDescriptor de la estructura especifica un descriptor de seguridad para el nuevo evento. Si lpTransactionAttributes es NULL, el objeto obtiene un descriptor de seguridad predeterminado. Las listas de control de acceso (ACL) del descriptor de seguridad predeterminado para una transacción proceden del token principal o de suplantación del creador.
[in, optional] UOW
Reservado. Debe ser cero (0).
[in, optional] CreateOptions
Cualquier instrucción de transacción opcional.
Valor | Significado |
---|---|
|
No se puede distribuir la transacción. |
[in, optional] IsolationLevel
Reservados; especifique cero (0).
[in, optional] IsolationFlags
Reservados; especifique cero (0).
[in, optional] Timeout
El intervalo de tiempo de espera en milisegundos. Si se especifica un valor distinto de cero, la transacción se anulará cuando transcurre el intervalo si aún no ha alcanzado el estado preparado.
Especifique cero (0) o INFINITE para proporcionar un tiempo de espera infinito.
[in, optional] Description
Descripción legible por el usuario de la transacción.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un identificador de la transacción.
Si se produce un error en la función, el valor devuelto es INVALID_HANDLE_VALUE. Para obtener información ampliada de los errores, llame a la función GetLastError.
En la lista siguiente se identifican los posibles códigos de error:
Comentarios
Use la función CloseHandle para cerrar el identificador de transacción. Si el último identificador de transacción se cierra antes de que un cliente llame a la función CommitTransaction con el identificador de transacción, KTM revierte la transacción.
Si es posible que la transacción tenga que ser promocionable a una transacción distribuida, debe conceder derechos de acceso al Coordinador de transacciones distribuidas (DTC) para inscribirse en la transacción. Para ello, el parámetro lpTransactionAttributes debe contener una entrada de control de acceso con el SID del DTC (S-1-5-80-2818357584-3387065753-4000393942-342927828-138088443) y la TRANSACTION_ENLIST derecha. Para obtener más información, vea Coordinador de transacciones distribuidas y componentes de Access Control.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | ktmw32.h |
Library | KtmW32.lib |
Archivo DLL | KtmW32.dll |
Consulte también
Coordinador de transacciones distribuidas