GetNotificationResourceManagerAsync 函数 (ktmw32.h)
请求并接收资源管理器 (RM) 的异步通知。 RM 寄存器使用此函数在事务更改状态时接收通知。
语法
BOOL GetNotificationResourceManagerAsync(
[in] HANDLE ResourceManagerHandle,
[out] PTRANSACTION_NOTIFICATION TransactionNotification,
[in] ULONG TransactionNotificationLength,
[out] PULONG ReturnLength,
[in] LPOVERLAPPED lpOverlapped
);
parameters
[in] ResourceManagerHandle
资源管理器的句柄。
[out] TransactionNotification
指向接收第一个可用通知 的 TRANSACTION_NOTIFICATION 结构的指针。
[in] TransactionNotificationLength
TransactionNotification 缓冲区的大小(以字节为单位)。
[out] ReturnLength
指向变量的指针,该变量接收 TransactionNotification 参数接收的通知的实际大小。
[in] lpOverlapped
指向异步操作所需的 OVERLAPPED 结构的指针。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零 (0)。 若要获得更多的错误信息,请调用 GetLastError 函数。
以下列表标识了可能的错误代码:
注解
所有资源管理器都必须注册才能接收 TRANSACTION_NOTIFY_PREPREPARE、 TRANSACTION_NOTIFY_PREPARE和 TRANSACTION_NOTIFY_COMMIT 通知,即使他们随后调用 ReadOnlyEnlistment 将登记标记为只读。 资源管理器可以支持 TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT,但他们还必须支持多阶段预准备、准备和提交通知。 有关资源管理器可以接收的所有通知的列表,请参阅 TRANSACTION_NOTIFICATION。
(RM) 资源管理器可能希望多次调用此函数,以便 KTM 在传递通知时使用多个缓冲区。 对此函数的调用次数取决于 RM 所承载的负载量。
必须在调用 SetResourceManagerCompletionPort 函数后调用此函数。
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | ktmw32.h |
Library | KtmW32.lib |
DLL | KtmW32.dll |