語言

SharedMemory.SetProtect(Int32) 方法

定義

將共享記憶體的保護設定為 prot 指定組合,該組合為 、 android.system.OsConstants#PROT_READ、 、 android.system.OsConstants#PROT_WRITEandroid.system.OsConstants#PROT_EXECandroid.system.OsConstants或 的位元組合android.system.OsConstants#PROT_NONE,以移除所有後續存取。

[Android.Runtime.Register("setProtect", "(I)Z", "", ApiSince=27)]
public bool SetProtect(int prot);
[<Android.Runtime.Register("setProtect", "(I)Z", "", ApiSince=27)>]
member this.SetProtect : int -> bool

參數

prot
Int32

任意位元或組合的 android.system.OsConstants#PROT_READ、 android.system.OsConstants#PROT_WRITE、 和 android.system.OsConstants#PROT_EXEC;或 android.system.OsConstants#PROT_NONE

傳回

是否適用了所請求的保護。 成功時回報為真;若申請的保護範圍超過現有保護則為假。

屬性

備註

將共享記憶體的保護設定為 prot 指定組合,該組合為 、 android.system.OsConstants#PROT_READ、 、 android.system.OsConstants#PROT_WRITEandroid.system.OsConstants#PROT_EXECandroid.system.OsConstants或 的位元組合android.system.OsConstants#PROT_NONE,以移除所有後續存取。

請注意,保護只能被移除,無法新增。 預設情況下,共享記憶體的保護設定為 PROT_READ |PROT_WRITE |PROT_EXEC。 此處的保護也僅適用於呼叫此方法後所建立的任何映射。 現有的共享記憶體 mmap 會保留它們創建時所擁有的保護。

這種方式常見的用途是與其他資料共享唯讀副本。 要做到這點,首先要用 PROT_READ | 建立讀寫映射PROT_WRITE,然後呼叫 setProtect(PROT_READ) 以移除寫入能力,接著將 SharedMemory 送給另一個程序。 這個流程只能用 PROT_READ 來 mmap 。

Java 文件 android.os.SharedMemory.setProtect(int)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於