Compartir a través de


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
TRANSACTION_DO_NOT_PROMOTE
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 GetLastError.

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

commitTransaction

coordinador de transacciones distribuidas

funciones del Administrador de transacciones de kernel

rollbackTransaction

SECURITY_ATTRIBUTES

SetTransactionInformation