国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
CreateFile、DeviceIoControl、WriteFile函數(shù)說明

HANDLE CreateFile(
  LPCTSTR lpFileName, //指向文件名的指針
  DWORD dwDesiredAccess, //訪問模式(寫/讀)
  DWORD dwShareMode, //共享模式
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全屬性的指針
  DWORD dwCreationDisposition, //如何創(chuàng)建
  DWORD dwFlagsAndAttributes, //文件屬性
  HANDLE hTemplateFile //用于復(fù)制文件句柄
  );
  參數(shù)列表 
  lpFileName String 要打開的文件的名字 
  dwDesiredAccess Long 如果為 GENERIC_READ 表示允許對(duì)設(shè)備進(jìn)行讀訪問;如果為 GENERIC_WRITE 表示允許對(duì)設(shè)備進(jìn)行寫訪問(可組合使用);如果為零,表示只允許獲取與一個(gè)設(shè)備有關(guān)的信息 
  dwShareMode Long, 零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允許對(duì)文件進(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)有文件縮短為零長(zhǎng)度 
  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)不得推遲對(duì)文件的寫操作 
  FILE_FLAG_OVERLAPPED 允許對(duì)文件進(jìn)行重疊操作 
  FILE_FLAG_NO_BUFFERING 禁止對(duì)文件進(jìn)行緩沖處理。文件只能寫入磁盤卷的扇區(qū)塊 
  FILE_FLAG_RANDOM_ACCESS 針對(duì)隨機(jī)訪問對(duì)文件緩沖進(jìn)行優(yōu)化 
  FILE_FLAG_SEQUENTIAL_SCAN 針對(duì)連續(xù)訪問對(duì)文件緩沖進(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ò)展屬性
返回值
如執(zhí)行成功,則返回文件句柄。
  INVALID_HANDLE_VALUE表示出錯(cuò),會(huì)設(shè)置GetLastError。即使函數(shù)成功,但若文件存在,且指定了CREATE_ALWAYS 或 OPEN_ALWAYS,GetLastError也會(huì)設(shè)為ERROR_ALREADY_EXISTS
 
BOOL DeviceIoControl(
HANDLE hDevice, // CreateFile返回的設(shè)備句柄
DWORD dwIoControlCode, // 應(yīng)用程序調(diào)用驅(qū)動(dòng)程序的控制命令,就是IOCTL_XXX IOCTLs 控制碼
      //發(fā)送不同的控制碼,可以調(diào)用設(shè)備驅(qū)動(dòng)程序的不同類型的功能。在頭文件
winioctl.h 中,預(yù)定義的標(biāo)準(zhǔn)設(shè)備控制碼,都以 IOCTL 或 FSCTL 開頭。
LPVOID lpInBuffer, // 輸入數(shù)據(jù)緩沖區(qū)指針, 應(yīng)用程序傳遞給驅(qū)動(dòng)程序的數(shù)據(jù)緩沖區(qū)地址
DWORD nInBufferSize, // 輸入數(shù)據(jù)緩沖區(qū)長(zhǎng)度
LPVOID lpOutBuffer, // 輸出數(shù)據(jù)緩沖區(qū)指針 驅(qū)動(dòng)程序返回給應(yīng)用程序的數(shù)據(jù)緩沖區(qū)地址
DWORD nOutBufferSize, // 輸出數(shù)據(jù)緩沖區(qū)長(zhǎng)度
LPDWORD lpBytesReturned, // 輸出數(shù)據(jù)實(shí)際長(zhǎng)度單元長(zhǎng)度
LPOVERLAPPED lpOverlapped // 重疊操作結(jié)構(gòu)指針
);
/*Parameters(參數(shù))
hDevice (設(shè)備句柄)
[in] Handle to the device that is to perform the operation. To obtain a device handle, call the CreateFile function.
dwIoControlCode ()
[in] IOCTL for the operation. This value identifies the specific operation to perform and the type of device on which to perform the operation. There are no specific values defined for the dwIoControlCode parameter. However, you can define custom IOCTL_XXX IOCTLs with the CTL_CODE macro. You can then advertise these IOCTLs and an application can use these IOCTLs with DeviceIoControl to perform the driver-specific functions.
lpInBuffer ()
[in] Long pointer to a buffer that contains the data required to perform the operation. Set to NULL if the dwIoControlCode parameter specifies an operation that does not require input data.
nInBufferSize (應(yīng)用程序傳遞給驅(qū)動(dòng)程序的數(shù)據(jù)緩沖區(qū)大小,字節(jié)數(shù))
[in] Size, in bytes, of the buffer pointed to by lpInBuffer.
lpOutBuffer ()
[out] Long pointer to a buffer that receives the output data for the operation. Set to NULL if the dwIoControlCode parameter specifies an operation that does not produce output data.
nOutBufferSize (驅(qū)動(dòng)程序返回給應(yīng)用程序的數(shù)據(jù)緩沖區(qū)大小,字節(jié)數(shù))
[out] Size, in bytes, of the buffer pointed to by lpOutBuffer.
lpBytesReturned (驅(qū)動(dòng)程序?qū)嶋H返回給應(yīng)用程序的數(shù)據(jù)字節(jié)數(shù)地址)
[out] Long pointer to a variable that receives the size, in bytes, of the data stored in lpOutBuffer. The DeviceIoControl function may unnecessarily use this parameter. For example, if an operation does not produce data for lpOutBuffer and lpOutBuffer is NULL, the value of lpBytesReturned is meaningless.
lpOverlapped (重疊操作結(jié)構(gòu))
[in] Ignored; set to NULL.
Return Values(返回值)
Nonzero indicates success. Zero indicates failure. To obtain extended error information, call the GetLastError function. (非0成功,0失?。?br>*/
BOOL WriteFile(  
       HANDLE hFile, // 文件句柄, 需要寫入數(shù)據(jù)的文件指針
    LPCVOID lpBuffer, // 數(shù)據(jù)緩存區(qū)指針  
    DWORD nNumberOfBytesToWrite, // 你要寫的字節(jié)數(shù)  
      LPDWORD lpNumberOfBytesWritten, // 用于保存實(shí)際寫入字節(jié)數(shù)的存儲(chǔ)區(qū)域的指針  
    LPOVERLAPPED lpOverlapped // OVERLAPPED結(jié)構(gòu)體指針  
     );
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CreateFile 函數(shù)詳解
CreateFile 函數(shù)說明
CreateFile,ReadFile 詳解(msdn翻譯)
實(shí)戰(zhàn)DeviceIoControl 之一:通過API訪問設(shè)備驅(qū)動(dòng)程序 - bhw98的專欄...
第十一章 MFC下的文件類
內(nèi)存映射
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服