zx_restricted_bind_state

摘要

建立受限狀態 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 才會刪除, 系統會移除最後一個使用者對應關係,然後發生下列其中一種情況:

和其他 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 因記憶體不足而失敗。 使用者空間無法妥善處理這種 (異常) 錯誤。 在日後的版本中不會再發生這個錯誤。

另請參閱