zx_vmo_replace_as_executable

摘要

新增 VMO 的執行權限。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_vmo_replace_as_executable(zx_handle_t handle,
                                         zx_handle_t vmex,
                                         zx_handle_t* out);

說明

zx_vmo_replace_as_executable() 會建立處理常式取代,也就是參照相同的基礎虛擬記憶體物件 (VMO),並加入正確的 ZX_RIGHT_EXECUTE

handle 一律會失效。

權限

handle 必須是 ZX_OBJ_TYPE_VMO 類型。

vmex 的資源種類 ZX_RSRC_KIND_SYSTEM 必須具有基礎 ZX_RSRC_SYSTEM_VMEX_BASE

傳回值

zx_vmo_replace_as_executable() 會在成功時傳回 ZX_OK。如果失敗,系統會傳回負值的錯誤值。

錯誤

ZX_ERR_BAD_HANDLE 處理常式不是有效的 VM 物件控制代碼,或 vmex 不是有效的 ZX_RSRC_KIND_SYSTEM 資源控制代碼,含有基礎 ZX_RSRC_SYSTEM_VMEX_BASE

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。使用者空間無法以任何方式處理這個錯誤 (極可能) 錯誤。日後的建構作業不會再發生這個錯誤。

另請參閱