亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

CreateFile

  • 包含8個文件:type.h, borrow.c, CreateFile.c, MainMenuControl.C, reader.c, readfile.c, search.c, writefile.

    包含8個文件:type.h, borrow.c, CreateFile.c, MainMenuControl.C, reader.c, readfile.c, search.c, writefile.c

    標簽: MainMenuControl CreateFile writefile readfile

    上傳時間: 2013-12-22

    上傳用戶:xuanchangri

  • 用戶態使用Win32 CreateFile訪問驅動程序

    用戶態使用Win32 CreateFile訪問驅動程序,dwShareMode為0時來請求獨占內核對象在設備對象DEVICE_OBJECT結構中存儲設備的信息,對于與設備的每個交互,相關的DEVICE_OBJECT被傳遞給驅動的回調例程。,但是開發者可以擴展設備結構,稱為設備擴展 在PnP IRP中我們加載設備NTSTATUS Wdm1AddDevice( IN PDRIVER_OBJECT DriverObject,

    標簽: CreateFile Win 32 用戶

    上傳時間: 2014-01-03

    上傳用戶:luopoguixiong

  • CreateFile Hook with Delphi with AdvHooKLib

    CreateFile Hook with Delphi with AdvHooKLib

    標簽: with CreateFile AdvHooKLib Delphi

    上傳時間: 2014-01-16

    上傳用戶:葉山豪

  • 驅動程序與應用程序的接口

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標簽: 驅動程序 應用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

  • VC++中使用內存映射文件處理大文件,文件操作是應用程序最為基本的功能之一

    VC++中使用內存映射文件處理大文件,文件操作是應用程序最為基本的功能之一,Win32 API 和MFC 均提供有支持 文件處理的函數和類,常用的有Win32 API 的CreateFile()、WriteFile()、 ReadFile()和MFC 提供的CFile 類等

    標簽: VC 內存映射 文件處理 應用程序

    上傳時間: 2013-12-24

    上傳用戶:趙云興

  • 文件視圖,CFrameWnd C Static CRect MoveWindow CreatePen CSize CDC SetBkMode SelectObject CPen LineTo SetT

    文件視圖,CFrameWnd C Static CRect MoveWindow CreatePen CSize CDC SetBkMode SelectObject CPen LineTo SetTextColor CString TextOut CFont CreateFont DrawText CreateDC GetDeviceCaps DeleteDC GetObject GlobalAlloc GlobalLock GetStockObject GetDC SelectPalette RealizePalette GetDIBits ReleaseDC CreateFile WriteFile GlobalUnlock GlobalFree CloseHandle CPaintDC CBitmap CreateCompatibleDC CreateCompatibleBitmap PtInRect BitBlt DeleteObject CPoint ShowWindow ClientToScreen GetWindowDC GetWindowRect CFileDialog CWinApp CSingleDocTemplate CCommandLineInfo UpdateWindow CDialog CDataExchange CDocument CView CPrintInfo GetClientRect SetWindowLong GetWindowLong LoadLibrary GetProcAddress GetLastError FreeLibrary CreateDialog

    標簽: SelectObject MoveWindow CFrameWnd CreatePen

    上傳時間: 2014-12-21

    上傳用戶:yan2267246

  • 實現串行通訊的相關API函數 API函數不僅提供了打開和讀寫通訊端口的操作方法

    實現串行通訊的相關API函數 API函數不僅提供了打開和讀寫通訊端口的操作方法,還提供了名目繁多的函數以支持對串行通訊的各種操作。 函數名 作用 CreateFile 打開串口 GetCommState 檢測串口設置 SetCommState 設置串口 BuilderCommDCB 用字符串中的值來填充設備控制塊 GetCommTimeouts 檢測通信超時設置 SetCommTimeouts 設置通信超時參數 SetCommMask 設定被監控事件 WaitCommEvent 等待被監控事件發生 WaitForMultipleObjects 等待多個被監測對象的結果 WriteFile 發送數據 ReadFile 接收數據 GetOverlappedResult 返回最后重疊(異步)操作結果 PurgeComm 清空串口緩沖區,退出所有相關操作 ClearCommError 更新串口狀態結構體,并清除所有串口硬件錯誤 CloseHandle 關閉串行口

    標簽: API 函數 串行通訊 讀寫

    上傳時間: 2013-11-30

    上傳用戶:磊子226

  • InstallScript工程里沒有INI File Changes視圖

    InstallScript工程里沒有INI File Changes視圖,通過腳本用“CreateFile”或者“xCreateFile”來創建。

    標簽: InstallScript Changes File INI

    上傳時間: 2014-01-03

    上傳用戶:lanhuaying

  • 直接讀寫硬盤扇區

    直接讀寫硬盤扇區, 只要是通過CreateFile與ReadFile函數實現 而這個只是一個簡單的例子

    標簽: 直接讀寫 硬盤

    上傳時間: 2016-05-14

    上傳用戶:asasasas

  • 孫鑫老師VC視頻第十二課代碼:const char *與char * const的區別。C語言對文件讀寫的支持

    孫鑫老師VC視頻第十二課代碼:const char *與char * const的區別。C語言對文件讀寫的支持,FILE指針;文本文件和二進制文件的區別。用文本方式讀寫文件和以二進制方式讀寫文件的注意事項。C++對文件讀寫的支持,ofstream和ifstream的用法。Win32 SDK對文件讀寫的支持,CreateFile函數、WriteFile函數、ReadFile函數的使用;MFC對文件讀寫的支持,CFile類和CFileDialog的使用,文件過濾器的設置。win.ini文件和注冊表的讀寫方式及相關知識點。

    標簽: const char 視頻 代碼

    上傳時間: 2016-06-15

    上傳用戶:dapangxie

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一本二本三本| 韩日欧美一区二区三区| 欧美激情视频网站| 国产精品推荐精品| 亚洲精品一区二区三区福利| 久久噜噜亚洲综合| 国产亚洲精品aa| 亚洲影视在线| 欧美三日本三级少妇三2023| 亚洲经典一区| 欧美a一区二区| 在线精品福利| 久久野战av| 精品va天堂亚洲国产| 久久国产66| 国产原创一区二区| 欧美一站二站| 国产伦精品一区二区三| 亚洲伊人伊色伊影伊综合网| 亚洲影院色在线观看免费| 国产精品成人一区二区三区夜夜夜| 亚洲三级色网| 欧美成人一区二免费视频软件| 亚洲第一毛片| 美国成人直播| 亚洲人www| 欧美日韩视频在线观看一区二区三区| 亚洲精品一区二区三区四区高清| 欧美国产日韩一区二区| 亚洲国产黄色片| 欧美女主播在线| 亚洲社区在线观看| 国产精品sm| 欧美在线观看网址综合| 一区二区三区在线不卡| 美女久久一区| 99热在这里有精品免费| 欧美视频在线观看 亚洲欧| 亚洲天堂成人在线视频| 国产精自产拍久久久久久蜜| 久久激情综合网| 亚洲福利国产| 欧美日韩一区二区视频在线| 亚洲免费在线视频| 国产在线拍偷自揄拍精品| 久久夜色精品一区| av成人免费在线观看| 国产精品视频内| 久久九九热re6这里有精品| 影音先锋日韩有码| 欧美精品在线观看播放| 亚洲综合国产| 亚洲第一页在线| 国产精品成人国产乱一区| 性欧美xxxx大乳国产app| 欲色影视综合吧| 欧美亚洲不卡| 久久人人爽人人爽爽久久| 日韩视频一区二区在线观看 | 欧美va天堂| 日韩性生活视频| 国产欧美日本一区视频| 老色鬼久久亚洲一区二区| 99精品黄色片免费大全| 国产一二精品视频| 欧美女激情福利| 久久久xxx| 亚洲午夜激情免费视频| 亚洲盗摄视频| 国产毛片一区| 欧美精品一区二区三区很污很色的| 午夜精品久久久久久久久久久久| 亚洲国产精品成人| 国产伦精品一区二区三区视频黑人| 免费中文日韩| 欧美在线视频免费播放| 一本一道久久综合狠狠老精东影业| 国产一区二区三区久久久久久久久| 欧美日韩亚洲系列| 另类成人小视频在线| 午夜精品一区二区三区电影天堂| 亚洲精品国产精品国自产观看| 国产亚洲一二三区| 国产精品护士白丝一区av| 欧美 日韩 国产 一区| 欧美怡红院视频一区二区三区| 一本色道久久综合| 亚洲国产一区二区视频| 国产欧美日韩综合一区在线播放| 欧美日韩色一区| 欧美激情中文字幕乱码免费| 久久精品一区中文字幕| 亚洲在线免费视频| 中文欧美字幕免费| 日韩特黄影片| 亚洲人成网站999久久久综合| 狠狠操狠狠色综合网| 国产精品区一区二区三区| 欧美精品一区二区三区在线看午夜| 久久久久高清| 久久精品国产亚洲一区二区| 亚洲一区日韩| 亚洲免费观看高清完整版在线观看熊 | 免费观看亚洲视频大全| 午夜亚洲影视| 一区二区视频免费完整版观看| 欧美亚一区二区| 欧美午夜片在线观看| 午夜伦欧美伦电影理论片| 亚洲永久在线| 亚洲国产一区二区精品专区| 狠狠色丁香婷婷综合久久片| 欧美精品亚洲精品| 欧美精品18+| 久久国内精品视频| 欧美在线观看视频| 99精品国产一区二区青青牛奶| 99国产精品久久久久久久成人热| 欧美人在线观看| 欧美日韩播放| 国产精品v欧美精品v日韩精品| 欧美伦理91| 国产精品国产三级国产| 欧美日韩精品综合| 国产精品高潮呻吟久久| 国产精品99免费看| 国产女人精品视频| 国产毛片久久| 国产精品永久免费观看| 国产专区综合网| 国产一区二区欧美| 亚洲高清影视| 亚洲国产欧美日韩精品| 99精品国产99久久久久久福利| 亚洲日本中文字幕区| 亚洲午夜久久久| 亚洲一二三区在线| 久久精品卡一| 久久深夜福利免费观看| 欧美激情综合在线| 欧美电影免费观看| 欧美三级视频在线观看| 欧美激情一二区| 国产精品美女一区二区| 欧美日韩调教| 国产一区二区三区免费在线观看| 国产精品色网| 亚洲电影在线观看| 国产一区再线| 亚洲人成人77777线观看| 亚洲午夜伦理| 香蕉尹人综合在线观看| 牛夜精品久久久久久久99黑人| 你懂的成人av| 国产精品揄拍一区二区| 国产欧美一区二区精品婷婷| 亚洲国产一区二区三区a毛片| 亚洲国产美国国产综合一区二区| 亚洲一二三区精品| 欧美一区1区三区3区公司| 欧美二区在线播放| 欧美视频一区二区在线观看 | 久久精品欧美日韩| 欧美成人免费在线| 欧美日韩美女一区二区| 黄色一区二区三区四区| 亚洲欧洲日本国产| 久久精品国产成人| 欧美aa国产视频| 国产日韩欧美一区二区三区四区| 国模精品一区二区三区| 中文欧美字幕免费| 先锋影音网一区二区| 欧美精彩视频一区二区三区| 欧美日本在线视频| 亚洲国产第一页| 亚洲午夜精品| 欧美精品在线观看一区二区| 欧美猛交免费看| 在线观看视频日韩| 国产综合色在线视频区| 亚洲视频免费| 欧美精品在线免费播放| 国产免费成人av| 亚洲综合丁香| 欧美不卡在线视频| 在线看日韩av| 亚洲香蕉在线观看| 欧美日本国产视频| 亚洲肉体裸体xxxx137| 亚洲已满18点击进入久久| 乱人伦精品视频在线观看| 欧美亚洲成人免费| 国产一区二区主播在线| 亚洲国产三级| 久久久99精品免费观看不卡| 国产精品二区二区三区| 99视频精品免费观看| 欧美在线日韩精品| 国产农村妇女精品一区二区|