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 para el administrador de inscripción. Especifique NULL para obtener los atributos predeterminados.

[in] ResourceManagerHandle

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

[in] TransactionHandle

Identificador de la transacción en la que el administrador de recursos está enlistándose.

[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 utilizada por el RM que se devuelve cuando se envía una notificación en la estructura TRANSACTION_NOTIFICATION . Normalmente se usa para asociar una estructura privada a esta transacción específica.

Valor devuelto

Si la función se realiza 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 ampliada de los errores, llame a la función GetLastError.

En la lista siguiente se identifican los posibles códigos de error:

Comentarios

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

Si no especifica dentro de la máscara de notificación que acepta una solicitud de confirmación de fase única, 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 administrador de recursos siempre debe solicitar la notificación de reversión.
  • Si el administrador de recursos 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 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

CommitComplete

CommitEnlistment

Funciones del Administrador de transacciones de kernel

NOTIFICATION_MASK

OpenEnlistment

TRANSACTION_NOTIFICATION