摘要
刪除虛擬記憶體位址區域。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_vmar_destroy(zx_handle_t handle);
說明
zx_vmar_destroy()
會取消對應指定區域內的所有對應關係,並刪除
所有子區域請注意,這項作業通常按照邏輯遞迴。
這項作業不會關閉「帳號代碼」。與此訂單相關的所有待處理帳號代碼 VMAR 仍會是有效的帳號代碼,但當中的所有 VMAR 作業都會失敗。
zx_process_create()
取得的根 VMAR 無法刪除。
權限
TODO(https://fxbug.dev/42107318)
傳回值
zx_vmar_destroy()
會在成功時傳回 ZX_OK
。
錯誤
ZX_ERR_ACCESS_DENIED
帳號代碼沒有 ZX_RIGHT_OP_CHILDREN
。
ZX_ERR_BAD_HANDLE
帳號代碼不是有效的帳號代碼。
ZX_ERR_WRONG_TYPE
帳號代碼並非 VMAR 控制代碼。
ZX_ERR_BAD_STATE
這個區域已刪除。
ZX_ERR_NOT_SUPPORTED
「處理常式」是根 VMAR。