問題:關於由handle獲取檔名的問題
pfile_name_information pfni;
pfni=(pfile_name_information)exallocatepool(pagedpool, sizeof(file_name_information) + 255 * sizeof(wchar) );
memset(pfni,0,sizeof(file_name_information) + 255 * sizeof(wchar));
status=zwqueryinformationfile(p1,&iostatus,pfni,sizeof(object_name_information),filenameinformation);
我是這樣獲取檔名的,問題是無法獲取中文的檔名.
回答1:
status=zwqueryinformationfile(p1,&iostatus,pfni,sizeof(object_name_information),filenameinformation);[/quote]
呼叫好像有問題,wdk裡面是這樣定義:
ntstatus
zwqueryinformationfile(
in handle filehandle,
out pio_status_block iostatusblock,
out pvoid fileinformation,
in ulong length,
in file_information_class fileinformationclass
);
length: the size, in bytes, of the buffer pointed to by fileinformation.
回答2:
寫錯了應該是
status=zwqueryinformationfile(p1,&iostatus,pfni,sizeof(file_name_information) + 255 * sizeof(wchar),filenameinformation);
英文的檔名顯示無問題,但是中午就是"??.***"這樣,沒有辦法嗎
回答3:
okay,也就是說檔名是取出來了,但是顯示不出來。你在**顯示?
回答4:
這樣:
dbgprint("%s/n",pfni->filename);//
回答5:
暈,這樣顯然不能顯示中文阿...中文不是這麼簡單就能顯示的,呵呵
回答6:
搞定了,
rtlinitunicodestring(&un,pfni->filename);
rtlunicodestringtoansistring(&an,&un,true);
dbgprint("%s %d/n",an.buffer,an.length);
把wchar轉換成char就可以顯示了
獲取檔名的方式
一 directory類 按照萬用字元搜尋目錄下的檔案 string directory.getfiles string path,string searchpattern,searchoption searchoption path 目錄 searchpattern 萬用字元 searchopti...
關於asp獲取當前檔名的問題
request.servervariables url 返回伺服器位址 request.servervariables path info 客戶端提供的路徑資訊 與應用程式元資料庫路徑相應的物理路徑 request.servervariables path translated 通過由虛擬至物理的對...
CFileDialog獲取檔名長度
getfilepath獲取的全路徑名正確,但是當遇到長檔名時,getfilename獲取不正確,找了半天才知道,原來當遇到長檔名時,用getfilename卻只能獲取前63個字元 第64個位空終止符 所以若輸入的檔名可能超過64個字元時,千萬不要用getfilename,可用getfilepath獲...