CreateFile

此頁沒有內(nèi)容條目
內(nèi)容

CreateFile

VB聲明

Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

說明

這是一個(gè)全功能的例程,可打開和創(chuàng)建文件、管道、郵槽、通信服務(wù)、設(shè)備以及控制臺(tái)

返回值

Long,如執(zhí)行成功,則返回文件句柄。INVALID_HANDLE_VALUE表示出錯(cuò),會(huì)設(shè)置GetLastError。即使函數(shù)成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也會(huì)設(shè)為ERROR_ALREADY_EXISTS

參數(shù)表

參數(shù)

類型及說明

lpFileName

String,要打開的文件的名字

dwDesiredAccess

Long,如果為 GENERIC_READ 表示允許對設(shè)備進(jìn)行讀訪問;如果為 GENERIC_WRITE 表示允許對設(shè)備進(jìn)行寫訪問(可組合使用);如果為零,表示只允許獲取與一個(gè)設(shè)備有關(guān)的信息

dwShareMode

Long,零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允許對文件進(jìn)行共享訪問

lpSecurityAttributes

SECURITY_ATTRIBUTES,指向一個(gè)SECURITY_ATTRIBUTES結(jié)構(gòu)的指針,定義了文件的安全特性(如果操作系統(tǒng)支持的話)

dwCreationDisposition

Long,下述常數(shù)之一:

CREATE_NEW

創(chuàng)建文件;如文件存在則會(huì)出錯(cuò)

CREATE_ALWAYS

創(chuàng)建文件,會(huì)改寫前一個(gè)文件

OPEN_EXISTING

文件必須已經(jīng)存在。由設(shè)備提出要求

OPEN_ALWAYS

如文件不存在則創(chuàng)建它

TRUNCATE_EXISTING

講現(xiàn)有文件縮短為零長度

dwFlagsAndAttributes

Long,一個(gè)或多個(gè)下述常數(shù)

FILE_ATTRIBUTE_ARCHIVE

標(biāo)記歸檔屬性

FILE_ATTRIBUTE_COMPRESSED

將文件標(biāo)記為已壓縮,或者標(biāo)記為文件在目錄中的默認(rèn)壓縮方式

FILE_ATTRIBUTE_NORMAL

默認(rèn)屬性

FILE_ATTRIBUTE_HIDDEN

隱藏文件或目錄

FILE_ATTRIBUTE_READONLY

文件為只讀

FILE_ATTRIBUTE_SYSTEM

文件為系統(tǒng)文件

FILE_FLAG_WRITE_THROUGH

操作系統(tǒng)不得推遲對文件的寫操作

FILE_FLAG_OVERLAPPED

允許對文件進(jìn)行重疊操作

FILE_FLAG_NO_BUFFERING

禁止對文件進(jìn)行緩沖處理。文件只能寫入磁盤卷的扇區(qū)塊

FILE_FLAG_RANDOM_ACCESS

針對隨機(jī)訪問對文件緩沖進(jìn)行優(yōu)化

FILE_FLAG_SEQUENTIAL_SCAN

針對連續(xù)訪問對文件緩沖進(jìn)行優(yōu)化

FILE_FLAG_DELETE_ON_CLOSE

關(guān)閉了上一次打開的句柄后,將文件刪除。特別適合臨時(shí)文件

也可在Windows NT下組合使用下述常數(shù)標(biāo)記:

SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION, SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY

hTemplateFile

Long,如果不為零,則指定一個(gè)文件句柄。新文件將從這個(gè)文件中復(fù)制擴(kuò)展屬性

注解

打開一個(gè)通信端口時(shí)(如COM1),無論如何都要設(shè)置成 OPEN_EXISTING

這個(gè)函數(shù)代替了lOpen 和 lCreate函數(shù),應(yīng)該是我們的首選

Top