1
說,我做了如何讓W32處理訪問?
HANDLE h = CreateFileA ("foobar", GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_ALWAYS, 0, NULL);
現在處理h
已GENERIC_READ | GENERIC_WRITE訪問(如果調用成功)。
問題:我應該調用h
以取回它的訪問模式(即GENERIC_READ | GENERIC_WRITE)是什麼功能?
例:GetStdHandle (STD_INPUT_HANDLE)
回報一些句柄莫名其妙結束了是你的標準輸入。你不知道它是一個文件,一個管道還是別的東西(有辦法獲得句柄類型,但這不是重點)。它可能有任何訪問權限(CreateProcess
不檢查您在STARTUPINFO
中提供的句柄)。有沒有辦法獲得它的訪問掩碼(除了嘗試適當的調用)?
作品!有趣的事實:根據NtQueryObject給我的值,W32(NT 6.1.7601)總是會給你FILE_READ_ATTRIBUTES | SYNCHRONIZE是否你要求。至少,當你打開一個正常的文件。 – LRN