資源描述:
《msdn windows api createfile 函數(shù) 中文》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、CreateFileCreateFile函數(shù)創(chuàng)建或打開以下的對(duì)象并且返回一個(gè)可被對(duì)象訪問的句柄:l控制臺(tái)l通信資源l目錄l磁盤驅(qū)動(dòng)l文件l郵路l管道HANDLECreateFile(LPCTSTRlpFileName,//文件名DWORDdwDesiredAccess,//訪問模式DWORDdwShareMode,//共享模式LPSECURITY_ATTRIBUTESlpSecurityAttributes,//SDDWORDdwCreationDisposition,//如何創(chuàng)建DWORDdwFlagsAndAttributes,//文件屬性HANDLEh
2、TemplateFile//文件模板句柄參數(shù)lpFileName指針指向一個(gè)無(wú)終止符的字符串指定對(duì)象的名稱,用以創(chuàng)建或打開。WindowsNT/2000/XP:在ANSI(美國(guó)信息標(biāo)準(zhǔn))版本的函數(shù)中,名稱限制最大字符串長(zhǎng)度。要擴(kuò)展這個(gè)限制以滿足大約32000長(zhǎng)度的字符串,使用Unicode(統(tǒng)一字符編碼標(biāo)準(zhǔn))版本的函數(shù),并且在路徑中預(yù)加”\?”。更多信息請(qǐng)查看文件名規(guī)則。Windows95/98/Me:這個(gè)字符串必須不大于最大字符長(zhǎng)度。dwDesiredAccess指定對(duì)象的訪問類型。一個(gè)應(yīng)用程序可以獲得讀訪問、寫訪問、讀/寫訪問或驅(qū)動(dòng)查詢?cè)L問。這個(gè)參量
3、可以被任意的以下參數(shù)值組合:參數(shù)值描述0指定驅(qū)動(dòng)查詢?cè)L問給對(duì)象。應(yīng)用程序能在不需要驅(qū)動(dòng)訪問進(jìn)行時(shí)查詢驅(qū)動(dòng)屬性。GENERIC_READ指定讀訪問給對(duì)象。數(shù)據(jù)能夠從文件與可被移動(dòng)的文件指針讀入。與GENERIC_WRITE結(jié)合可實(shí)現(xiàn)讀/寫訪問。GENERIC_WRITE指定寫訪問給對(duì)象。數(shù)據(jù)能夠被寫入文件和可移動(dòng)的文件指針。與GENERIC_READ結(jié)合可實(shí)現(xiàn)讀/寫訪問。另外,你可以定義以下的訪問標(biāo)志。參數(shù)值文檔DELETE標(biāo)準(zhǔn)訪問權(quán)限READ_CONTROL標(biāo)準(zhǔn)訪問權(quán)限WRITE_DAC標(biāo)準(zhǔn)訪問權(quán)限WRITE_OWNER標(biāo)準(zhǔn)訪問權(quán)限SYNCHRONIZE標(biāo)準(zhǔn)
4、訪問權(quán)限STANDARD_RIGHTS_REQUIRED標(biāo)準(zhǔn)訪問權(quán)限STANDARD_RIGHTS_READ標(biāo)準(zhǔn)訪問權(quán)限STANDARD_RIGHTS_WRITE標(biāo)準(zhǔn)訪問權(quán)限STANDARD_RIGHTS_EXECUTE標(biāo)準(zhǔn)訪問權(quán)限STANDARD_RIGHTS_ALL標(biāo)準(zhǔn)訪問權(quán)限SPECIFIC_RIGHTS_ALL訪問掩碼ACCESS_SYSTEM_SECURITY訪問掩碼MAXIMUM_ALLOWED訪問掩碼GENERIC_READ訪問掩碼GENERIC_WRITE訪問掩碼GENERIC_EXECUTE訪問掩碼GENERIC_ALL訪問掩碼dwShar
5、eMode指定對(duì)象如何被共享。如果dwShareMode為0,并且創(chuàng)建文件成功,對(duì)象不能夠被共享和再次打開,直到句柄關(guān)閉。請(qǐng)參考備注部分關(guān)于共享沖突的信息。為了共享對(duì)象,使用一個(gè)或多個(gè)以下參數(shù)值的集合。參數(shù)值描述FILE_SHARE_DELETEWindowsNT/2000/XP:只有當(dāng)刪除訪問請(qǐng)求時(shí),隨后在對(duì)象上的打開操作才能成功。FILE_SHARE_READ只有當(dāng)讀訪問被請(qǐng)求時(shí),隨后在對(duì)象上的打開操作才能成功。FILE_SHARE_WRITE只有當(dāng)寫訪問被請(qǐng)求時(shí),隨后在對(duì)象上的打開操作才能成功。lpSecurityAttributes指針指向一個(gè)SEC
6、URITYATTRIBUTES結(jié)構(gòu)體決定句柄返回是否能夠被子過程繼承。如果lpSecurityAttributes為NULL,那么句柄不能被繼承。WindowsNT/2000/XP:結(jié)構(gòu)體lpSecurityDescriptor的成員為對(duì)象指定一個(gè)安全的描述符。如果lpSecurityAttributes為NULL,那么對(duì)象得到一個(gè)默認(rèn)的安全描述符。目標(biāo)文件系統(tǒng)必須支持在文件和目錄的安全性,以支持這個(gè)參數(shù)在文件上的影響。dwCreationDisposition指定文件的創(chuàng)建方式,并且當(dāng)文件不存在時(shí)指定文件的常見方式。關(guān)于這個(gè)參數(shù)的跟多信息請(qǐng)參考備注信息。這
7、個(gè)參數(shù)必須賦予以下值。參數(shù)值描述CREATE_NEW建立一個(gè)新文件,如果文件已經(jīng)存在,將出現(xiàn)函數(shù)錯(cuò)誤。CREATE_ALWAYS創(chuàng)建一個(gè)新文件,如果文件已經(jīng)存在,將覆蓋原來(lái)的文件,清除現(xiàn)有的屬性,并且用dwFlagsAndAttributes與FILE_ATTRIBUTE_ARCHIVE混合文件屬性和已定義標(biāo)志。OPEN_EXISTING打開文件。如果文件不存在,將出現(xiàn)函數(shù)錯(cuò)誤。關(guān)于為什么你需要用OPEN_EXISTING標(biāo)記如果你正在使用CreateFile函數(shù)在驅(qū)動(dòng)時(shí)的討論,請(qǐng)參考備注。OPEN_ALWAYS如果文件存在,打開文件。如果不存在,函數(shù)像dw
8、CreationDisposition為CREATE