2 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
那是因?yàn)槟銊?chuàng)建的是設(shè)備名稱,這個(gè)只能在ring0層訪問(wèn)。
要想在ring3層訪問(wèn),需要?jiǎng)?chuàng)建ring3層可以訪問(wèn)的符號(hào)鏈接與設(shè)備關(guān)聯(lián)。
RtlInitUnicodeString(&ustrSymLink,L"\\??\\Jow_SymLink");
IoCreateSymbolicLink(&ustrSymLink,&uniNtNameString);
ring3層訪問(wèn)的時(shí)候CreateFile("\\\\.\\Jow_SymLink",........)

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
那是因你創(chuàng)建的是設(shè)備名稱,這個(gè)只能在ring0層訪問(wèn)。
要想在ring3層訪問(wèn),需要?jiǎng)?chuàng)建ring3層可以訪問(wèn)的符號(hào)鏈接與設(shè)備關(guān)聯(lián)。
RtlInitUnicodeString(&ustrSymLink,L"\\??\\Jow_SymLink");
IoCreateSymbolicLink(&ustrSymLink,&uniNtNameString);
ring3層訪問(wèn)的時(shí)候CreateFile("\\\\.\\Jow_SymLink",........)
微軟預(yù)定義的標(biāo)準(zhǔn)設(shè)備中含有“COM1”-“COM9”。所以,“COM1”-“COM9”作為文件名傳遞給函數(shù)時(shí)操作系統(tǒng)會(huì)自動(dòng)地將之解析為相應(yīng)的設(shè)備。但對(duì)于COM10及以上的串口,“COM10”之類的文件名系統(tǒng)只視之為一般意義上的文件,而非串行設(shè)備。
- 2 回答
- 0 關(guān)注
- 1411 瀏覽
添加回答
舉報(bào)