Compartir a través de


Función CreateEnlistment (ktmw32.h)

Crea una inscripción, establece su estado inicial y abre un identificador para la inscripción con el acceso especificado.

Sintaxis

HANDLE CreateEnlistment(
  [in, optional] LPSECURITY_ATTRIBUTES lpEnlistmentAttributes,
  [in]           HANDLE                ResourceManagerHandle,
  [in]           HANDLE                TransactionHandle,
  [in]           NOTIFICATION_MASK     NotificationMask,
  [in, optional] DWORD                 CreateOptions,
  [in, optional] PVOID                 EnlistmentKey
);

Parámetros

[in, optional] lpEnlistmentAttributes

Puntero a una estructura de SECURITY_ATTRIBUTES que contiene los atributos de seguridad del administrador de inscripción. Especifique NULL para obtener los atributos predeterminados.

[in] ResourceManagerHandle

Identificador del administrador de recursos (RM) que se va a inscribir.

[in] TransactionHandle

Identificador de la transacción en la que se está inscribiendo el RM.

[in] NotificationMask

Las notificaciones que solicita este RM para el parámetro TransactionHandle. Para obtener una lista de valores válidos, consulte NOTIFICATION_MASK.

[in, optional] CreateOptions

Las instrucciones de inscripción opcionales.

Valor Significado
ENLISTMENT_SUPERIOR
1
Inscribirse como administrador de transacciones superior.

[in, optional] EnlistmentKey

Puntero a una estructura definida por el usuario usada por el RM que se devuelve cuando se envía una notificación en la estructura de TRANSACTION_NOTIFICATION. Normalmente se usa para asociar una estructura privada a esta transacción específica.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador de la inscripció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

Windows Vista: Cualquier intento de inscribirse durante la fase de preparación previa o posterior producirá un error.

Si no especifica dentro de la máscara de notificación que acepta una solicitud de confirmación de una sola fase, KTM siempre realiza una operación de confirmación en dos fases.

Tenga en cuenta las siguientes reglas de notificación al inscribirse en transacciones:

  • El rm debe solicitar siempre la notificación de reversión.
  • Si el RM solicita la notificación de preparación, también debe solicitar la notificación de confirmación.
  • Si rm solicita una operación de confirmación de una sola fase, también debe especificar notificaciones de preparación y confirmación.
  • La única vez que no se requiere un RM para solicitar notificaciones de confirmación es cuando solicita al menos un par de notificaciones de preparación y reversión.

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

CommitComplete

CommitEnlistment

funciones del Administrador de transacciones de kernel

NOTIFICATION_MASK

OpenEnlistment

TRANSACTION_NOTIFICATION