Função CreateEnlistment (ktmw32.h)
Cria uma inscrição, define seu estado inicial e abre um identificador para a inscrição com o acesso especificado.
Sintaxe
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
Um ponteiro para uma estrutura de SECURITY_ATTRIBUTES que contém os atributos de segurança do gerenciador de inscrição. Especifique NULL para obter os atributos padrão.
[in] ResourceManagerHandle
Um identificador para o gerenciador de recursos (RM) a ser inscrito.
[in] TransactionHandle
Um identificador para a transação na qual a RM está se inscrevendo.
[in] NotificationMask
As notificações que esta RM está solicitando para o parâmetro TransactionHandle. Para obter uma lista de valores válidos, consulte NOTIFICATION_MASK.
[in, optional] CreateOptions
Quaisquer instruções opcionais de inscrição.
Valor | Significado |
---|---|
|
Inscreva-se como um gerenciador de transações superior. |
[in, optional] EnlistmentKey
Um ponteiro para uma estrutura definida pelo usuário usada pela RM que é retornada quando uma notificação é enviada na estrutura TRANSACTION_NOTIFICATION. Normalmente, isso é usado para associar uma estrutura privada a essa transação específica.
Valor de retorno
Se a função for bem-sucedida, o valor retornado será um identificador para a inscrição.
Se a função falhar, o valor retornado será INVALID_HANDLE_VALUE. Para obter informações de erro estendidas, chame a função
A lista a seguir identifica os possíveis códigos de erro:
Observações
Windows Vista: Qualquer tentativa de se inscrever durante a fase de pré-preparação ou posterior falhará.
Se você não especificar dentro da máscara de notificação que aceita uma solicitação de confirmação de fase única, a KTM sempre executará uma operação de confirmação em duas fases.
Tenha em mente as seguintes regras de notificação ao se inscrever em transações:
- A RM sempre deve solicitar uma notificação de reversão.
- Se as solicitações RM prepararem a notificação, ela também deverá solicitar notificação de confirmação.
- Se a RM solicitar uma operação de confirmação de fase única, ela também deverá especificar notificações de preparação e confirmação.
- A única vez que uma RM não é necessária para solicitar notificações de confirmação é quando ela está solicitando pelo menos um par de notificações de preparação e reversão.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
servidor com suporte mínimo | Windows Server 2008 |
da Plataforma de Destino |
Windows |
cabeçalho | ktmw32.h |
biblioteca | KtmW32.lib |
de DLL |
KtmW32.dll |
Consulte também
commitEnlistment