摘要
建立受限狀態 VMO 並繫結至目前的執行緒。
宣告
#include <zircon/syscalls-next.h>
zx_status_t zx_restricted_bind_state(uint32_t options, zx_handle_t* out_vmo);
說明
建立 VMO 來存放 zx_restricted_state_t
。將 VMO 繫結至目前版本
讓後續對 zx_restricted_enter()
的呼叫能利用這個執行緒
進入/離開嚴格篩選模式後,還原/儲存受限模式狀態
傳回的 VMO (out_vmo
) 與
zx_vmo_create()
,某些作業不受支援,且可能會發生錯誤。
例如,不支援調整大小及建立子項 VMO。對應、
以及透過 zx_vmo_read()
/zx_vmo_write()
讀取/寫入,
。
一次只能將一個受限狀態 VMO 繫結至執行緒。正在嘗試 繫結另一個 VM 將取代已繫結的 VMO。
只有最後一個使用者帳號代碼關閉後,繫結的 VMO 才會刪除, 系統會移除最後一個使用者對應關係,然後發生下列其中一種情況:
由
zx_restricted_bind_state()
取代。此方法是透過
zx_restricted_unbind_state()
明確移除。執行緒已刪除。
和其他 VMO 一樣,VMO 完成對應後,就會由 VMO 保留 所以呼叫端可關閉控點並直接透過 對應。
在 VMO 的位移 0 處進入受限模式 zx_restricted_state_t
時
並繼續執行。離開管制時
執行緒的受限狀態會在 VMO 的位移 0 儲存。
options 必須為零。
權限
呼叫者的工作政策必須允許 ZX_POL_NEW_VMO
。
錯誤
ZX_ERR_INVALID_ARGS
out_vmo 是無效的指標或 NULL,或out_vmo
為 0 以外的任何值。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。