PeerDistClientCancelAsyncOperation 函数 (peerdist.h)

PeerDistClientCancelAsyncOperation 函数取消与 OVERLAPPED 结构和 PeerDistClientOpenContent 返回的内容句柄关联的异步操作。

语法

DWORD PeerDistClientCancelAsyncOperation(
  [in]           PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in]           PEERDIST_CONTENT_HANDLE  hContentHandle,
  [in, optional] LPOVERLAPPED             pOverlapped
);

参数

[in] hPeerDist

PeerDistStartup 返回的PEERDIST_INSTANCE_HANDLE

[in] hContentHandle

PeerDistClientOpenContent 函数调用打开的内容句柄。

[in, optional] pOverlapped

指向包含取消异步操作数据的 OVERLAPPED 结构的指针。 如果指针为 NULL ,则将取消指定内容句柄的所有异步操作。

返回值

如果成功取消与指定 OVERLAPPED 结构关联的操作,则函数将返回ERROR_SUCCESS值。 否则,该函数返回以下值之一:

返回代码 说明
ERROR_INVALID_PARAMETER
一个或多个参数无效。
ERROR_INVALID_HANDLE
hPeerDist 句柄无效。
PEERDIST_ERROR_OPERATION_NOT_FOUND
找不到与指定的 OVERLAPPED 结构关联的操作。
ERROR_ACCESS_DISABLED_BY_POLICY
组策略禁用该功能。
PEERDIST_ERROR_SERVICE_UNAVAILABLE
服务不可用。

注解

此函数将同步取消操作,但在取消结果发布到完成端口或 wait 事件设置为信号状态之前不会返回。 等待中的任何线程都可以在 PeerDistClientCancelAsyncOperation 函数返回之前或之后收到操作的完成通知。

此函数不保证操作将作为已取消完成。 仅当未发布其他结果时,才会发布取消结果。

若要确认已成功取消操作,应调用 GetOverlappedResult 并预期返回 FALSE

此外,在 PeerDistClientCancelAsyncOperation 成功后立即调用 GetLastError 将返回ERROR_OPERATION_ABORTED错误代码。

要求

要求
最低受支持的客户端 Windows 7 专业版 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 peerdist.h
Library PeerDist.lib
DLL PeerDist.dll

另请参阅

PeerDistServerCancelAsyncOperation