摘要
取消与密钥匹配的所有异步端口通知。
声明
#include <zircon/syscalls.h>
zx_status_t zx_port_cancel_key(zx_handle_t handle,
uint32_t options,
uint64_t key);
说明
zx_port_cancel_key()
是一个非阻塞系统调用,可取消所有
在此端口中待处理的 zx_object_wait_async()
项操作已注册
。
此调用成功后,注册 key 将传递至 handle, 从端口中移除 key。
权限
handle 的类型必须为 ZX_OBJ_TYPE_PORT
且包含 ZX_RIGHT_WRITE
。
返回值
如果取消成功,则 zx_port_cancel_key()
会返回 ZX_OK
,并且
排队的数据包已被移除或待处理的 zx_object_wait_async()
已取消。
错误
ZX_ERR_BAD_HANDLE
handle 不是有效的句柄。
ZX_ERR_WRONG_TYPE
handle 不是端口句柄。
ZX_ERR_INVALID_ARGS
options 包含无效值。
ZX_ERR_ACCESS_DENIED
句柄没有 ZX_RIGHT_WRITE
。
如果没有待处理的数据包或待处理数据包,则返回 ZX_ERR_NOT_FOUND
找到了 zx_object_wait_async()
个与键匹配的调用。