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() 作業。

這個呼叫成功時,如果 source 指定物件 (含有 key) 沒有新封包,將傳送至 handle 並將符合 sourcekey 的待處理佇列封包移除。

權限

handle 必須是 ZX_OBJ_TYPE_PORT 類型,且具有 ZX_RIGHT_WRITE

傳回值

如果取消成功,且佇列的封包已移除,或已取消的 zx_object_wait_async()zx_port_cancel() 會傳回 ZX_OK

錯誤

ZX_ERR_BAD_HANDLE 來源帳號代碼不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE 處理常式不是通訊埠控制代碼。

ZX_ERR_ACCESS_DENIED 來源帳號代碼沒有 ZX_RIGHT_WRITE

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

如果找不到待處理的封包,或是找到含來源金鑰的待處理 zx_object_wait_async() 呼叫,則為 ZX_ERR_NOT_FOUND

另請參閱