GetNotificationResourceManager 函数 (ktmw32.h)

请求并接收资源管理器 (RM) 的通知。 RM 寄存器使用此函数在事务更改状态时接收通知。

语法

BOOL GetNotificationResourceManager(
  [in]            HANDLE                    ResourceManagerHandle,
  [out]           PTRANSACTION_NOTIFICATION TransactionNotification,
  [in]            ULONG                     NotificationLength,
  [in, optional]  DWORD                     dwMilliseconds,
  [out, optional] PULONG                    ReturnLength
);

参数

[in] ResourceManagerHandle

资源管理器的句柄。

[out] TransactionNotification

指向接收第一个可用通知 的TRANSACTION_NOTIFICATION 结构的指针。

[in] NotificationLength

TransactionNotification 缓冲区的大小(以字节为单位)。

[in, optional] dwMilliseconds

调用应用程序在等待通知可用时阻塞的时间(以毫秒为单位)。 如果在超时过期时没有可用的通知,则返回 ERROR_TIMEOUT

[out, optional] ReturnLength

指向变量的指针,该变量接收 TransactionNotification 参数接收的通知的实际大小。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零 (0)。 若要获得更多的错误信息,请调用 GetLastError 函数。

以下列表标识了可能的错误代码:

注解

所有资源管理器都必须注册才能接收 TRANSACTION_NOTIFY_PREPREPARETRANSACTION_NOTIFY_PREPARETRANSACTION_NOTIFY_COMMIT 通知,即使他们随后调用 ReadOnlyEnlistment 将登记标记为只读。 资源管理器可以支持 TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT,但他们还必须支持多阶段的预准备、准备和提交通知。 有关资源管理器可以接收的所有通知的列表,请参阅 TRANSACTION_NOTIFICATION

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 ktmw32.h
Library KtmW32.lib
DLL KtmW32.dll

另请参阅

CreateEnlistment

GetNotificationResourceManagerAsync

内核事务管理器函数

NOTIFICATION_MASK

SetResourceManagerCompletionPort

TRANSACTION_NOTIFICATION

TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT