zx_port_cancel_key

摘要

取消與金鑰相符的所有非同步通訊埠通知。

宣告

#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 必須是 ZX_OBJ_TYPE_PORT 類型,且包含 ZX_RIGHT_WRITE

傳回值

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

錯誤

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

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

ZX_ERR_INVALID_ARGS 選項的值無效。

ZX_ERR_ACCESS_DENIED 帳號代碼沒有 ZX_RIGHT_WRITE

ZX_ERR_NOT_FOUND 表示沒有待處理的封包或待處理封包 找到符合zx_object_wait_async() 呼叫。

另請參閱