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
Las instrucciones de transacción opcionales.
Valor | Significado |
---|---|
|
No se puede distribuir la transacción. |
[in, optional] IsolationLevel
Reservado; especifique cero (0).
[in, optional] IsolationFlags
Reservado; especifique cero (0).
[in, optional] Timeout
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 de error extendida, llame a la función
En la lista siguiente se identifican los posibles códigos de error:
Observaciones
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 de 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 Control de acceso.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
servidor mínimo admitido | Windows Server 2008 |
de la plataforma de destino de |
Windows |
encabezado de |
ktmw32.h |
biblioteca de |
KtmW32.lib |
DLL de |
KtmW32.dll |
Consulte también
coordinador de transacciones distribuidas