Função CreateEnlistment (ktmw32.h)
Cria um alistamento, 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 SECURITY_ATTRIBUTES que contém os atributos de segurança para o 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 o 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
Qualquer instrução de inscrição opcional.
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.
Retornar valor
Se a função for bem-sucedida, o valor retornado será um identificador para a inscrição.
Se houver falha na função, o valor retornado será INVALID_HANDLE_VALUE. Para obter informações de erro estendidas, chame a função GetLastError.
A lista a seguir identifica os possíveis códigos de erro:
Comentários
Windows Vista: Qualquer tentativa de inscrição 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:
- O RM sempre deve solicitar 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 |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | ktmw32.h |
Biblioteca | KtmW32.lib |
DLL | KtmW32.dll |