Zx_port_cancel

摘要

取消物件的非同步通訊埠通知。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_port_cancel(zx_handle_t handle,
                           zx_handle_t source,
                           uint64_t key);

說明

zx_port_cancel() 是非封鎖的系統呼叫,會取消 使用來源索引鍵完成的所有待處理 zx_object_wait_async() 作業。

當此呼叫成功時,所指的物件沒有任何新封包 包含 key來源會傳送到 handle,且待處理工作已排入佇列 系統會從通訊埠中移除與 sourcekey 相符的封包。

權限

handle 必須是 ZX_OBJ_TYPE_PORT 類型,且包含 ZX_RIGHT_WRITE

傳回值

如果取消成功,zx_port_cancel() 會傳回 ZX_OK,且 佇列中的封包可能遭到移除,或待處理的封包數:zx_object_wait_async() 已取消。

錯誤

ZX_ERR_BAD_HANDLE sourcehandle 不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE 帳號代碼並非通訊埠控制代碼。

ZX_ERR_ACCESS_DENIED sourcehandle 沒有 ZX_RIGHT_WRITE

ZX_ERR_NOT_SUPPORTED 來源是一個無法等待的帳號代碼。

ZX_ERR_NOT_FOUND 表示沒有待處理的封包或待處理封包 找到具有來源zx_object_wait_async() 通話。

另請參閱