簡體   English   中英

轉到Windows以將標志傳遞給內存映射syscall

[英]Go Windows to pass Flag to memory map syscall

在Unix中,Go可以做到這一點:

// func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error)
syscall.Mmap(., ., ., ., syscall.MAP_SHARED|syscall.XXX)

在Windows中,您可以使用以下命令:

https://github.com/golang/go/blob/master/src/syscall/zsyscall_windows.go#L970-L981

// func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error)
syscall.CreateFileMapping(., ., syscall.PAGE_READONLY, ., ., nil)

但是我看不到Windows的CreateFileMapping任何標志參數。

是否有人知道如何將標志傳遞給syscall.MAP_SHARED|syscall.XXX類的CreateFileMapping函數?

看來您可以從Windows參考中獲取該系統調用的保護標志的整數值。 似乎不存在帶有Unix-y標志的一對一映射,例如,沒有為共享映射提供標志,而是在傳遞調用文件名時默認情況下會顯示為共享映射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM