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

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

subclass

  • A subclass of JTable, this class can render data from a TreeTableModel.

    A subclass of JTable, this class can render data from a TreeTableModel.

    標(biāo)簽: TreeTableModel subclass JTable render

    上傳時(shí)間: 2015-05-04

    上傳用戶:dongqiangqiang

  • A model of the local file system, implemented as a concrete subclass of AbstractTreeTableModel. This

    A model of the local file system, implemented as a concrete subclass of AbstractTreeTableModel. This class implements the TreeTableModel interface.

    標(biāo)簽: AbstractTreeTableModel implemented concrete subclass

    上傳時(shí)間: 2015-05-04

    上傳用戶:彭玖華

  • Universal Serial Bus CDC subclass Specification for Wireless Mobile Communication Devices

    Universal Serial Bus CDC subclass Specification for Wireless Mobile Communication Devices

    標(biāo)簽: Communication Specification Universal subclass

    上傳時(shí)間: 2014-01-22

    上傳用戶:kernaling

  • 驅(qū)動(dòng)程序與應(yīng)用程序的接口

    有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個(gè)符號(hào)鏈;2. 通過輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號(hào)鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對(duì)象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對(duì)設(shè)備對(duì)象訪問的第一步就是打開一個(gè)設(shè)備對(duì)象的句柄。 用符號(hào)鏈打開一個(gè)設(shè)備的句柄為了打開一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號(hào)鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號(hào)鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號(hào)鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動(dòng)程序(.sys文件)的路徑。是到設(shè)備對(duì)象的符號(hào)鏈。如果使用DriverWizard產(chǎn)生驅(qū)動(dòng)程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號(hào)鏈。這意味著符號(hào)鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開句柄用這種方式打開一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫提供兩個(gè)助手類來使獲得對(duì)該接口的訪問容易一些,這兩個(gè)類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個(gè)實(shí)例來獲得一個(gè)或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個(gè)小例子來顯示這些類最基本的使用方法: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;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個(gè)有效的設(shè)備句柄,它就能使用Win32 APIs來產(chǎn)生到設(shè)備對(duì)象的IRPs。下面的表顯示了這種對(duì)應(yīng)關(guān)系。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 需要解釋一下設(shè)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對(duì)象。這使得多個(gè)句柄可以映射同一個(gè)文件對(duì)象。當(dāng)這個(gè)文件對(duì)象的最后一個(gè)用戶級(jí)句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級(jí)和核心級(jí)的對(duì)文件對(duì)象的訪問的時(shí)候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會(huì)在打開設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對(duì)象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對(duì)象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對(duì)應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒有被鎖住而且地址只對(duì)調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來存取IRP域。對(duì)于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對(duì)象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對(duì)應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):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,系統(tǒng)分配一個(gè)單一的緩沖來作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級(jí)調(diào)用者使用的緩沖中。驅(qū)動(dòng)程序必須在結(jié)束前存儲(chǔ)拷貝到IRP的Information成員中的數(shù)據(jù)個(gè)數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個(gè)系統(tǒng)緩沖,這個(gè)緩沖驅(qū)動(dòng)程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對(duì)象,驅(qū)動(dòng)程序?qū)@個(gè)對(duì)象的訪問通過調(diào)用KIrp::Mdl來實(shí)現(xiàn)。對(duì)于METHOD_OUT_DIRECT,調(diào)用者必須有對(duì)緩沖的寫訪問權(quán)限。注意,對(duì)METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來配置緩沖。虛擬地址只對(duì)調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個(gè)IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個(gè)DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅(qū)動(dòng)程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動(dòng)程序中,代碼看起來如下所示: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 . . .   } }

    標(biāo)簽: 驅(qū)動(dòng)程序 應(yīng)用程序 接口

    上傳時(shí)間: 2013-10-17

    上傳用戶:gai928943

  • radius協(xié)議源碼÷The Radius Stack will connect to a Radius Server. This stack implementation is built upo

    radius協(xié)議源碼÷The Radius Stack will connect to a Radius Server. This stack implementation is built upon the UdpStack which is available in the radius{version}/util directory. A minimal set of VSAs (Vendor Specific Attributes are supported by this stack). The Radius Stack should be used as a base class. In order to implement a larger set of VSAs, one will need to subclass from the Radius Stack and implement the functionality within the virtual function processVsa(). The Radius Stack supports mostly accounting messages. The authentcation messages will be supported in a future release. A test program has been provided in the radius directory. This program shows how to subclass from the RadiusStack and how to use the api.

    標(biāo)簽: Radius implementation connect radius

    上傳時(shí)間: 2013-12-12

    上傳用戶:壞天使kk

  • 一下是注冊表項(xiàng) [HKEY_LOCAL_MACHINEDriversBuiltInSDMMC] "Dll"="sdmmc_loader.dll" "Prefix"="SML" "Order"=

    一下是注冊表項(xiàng) [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDMMC] "Dll"="sdmmc_loader.dll" "Prefix"="SML" "Order"=dword:2 "Ioctl"=dword:4 "Class"=dword:01 "subclass"=dword:80 "ProgIF"=dword:0 "DeviceID"=dword:1100 "VendorID"=dword:15b7 "FSD"="fatfsd.dll" "Profile"="SDMMC" "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"

    標(biāo)簽: HKEY_LOCAL_MACHINEDriversBuiltInS sdmmc_loader Prefix Order

    上傳時(shí)間: 2013-12-16

    上傳用戶:frank1234

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本欧美| 欧美精品日韩综合在线| 91久久精品网| 国产欧美在线观看| 欧美精品91| 麻豆成人91精品二区三区| 欧美一区二区三区另类| a4yy欧美一区二区三区| 亚洲精品中文字幕女同| 在线观看三级视频欧美| 一区二区在线观看视频| 国内精品久久久久久 | 欧美在线3区| 亚洲一区国产精品| 亚洲男人的天堂在线aⅴ视频| 99热免费精品在线观看| 亚洲精品国产欧美| 亚洲最新色图| 亚洲视频综合在线| 亚洲一级二级| 欧美粗暴jizz性欧美20| 欧美日韩在线视频观看| 欧美视频不卡| 国产区精品视频| 久久久久se| 久久九九全国免费精品观看| 欧美综合国产| 欧美性生交xxxxx久久久| 国产日韩欧美在线视频观看| 亚洲激情在线观看| 亚洲综合丁香| 欧美夫妇交换俱乐部在线观看| 欧美高清视频在线播放| 欧美不卡视频| 狠狠色丁香久久婷婷综合_中| 精品成人国产| 亚洲激情网站免费观看| 久久精品国产精品亚洲| 久久另类ts人妖一区二区| 久久国产天堂福利天堂| 免费久久99精品国产| 欧美激情精品久久久久久大尺度| 欧美日本簧片| 欧美成人免费va影院高清| 欧美三级日本三级少妇99| 国产欧美一区二区精品婷婷| 9久re热视频在线精品| 欧美日韩福利| 伊人久久av导航| 免费观看日韩av| 国产精品一区二区视频| 亚洲国产高潮在线观看| 亚洲视频欧洲视频| 美腿丝袜亚洲色图| 伊人精品在线| 欧美国产一区二区三区激情无套| 国产精品久久久久久久久久三级| 国产日韩综合| 夜夜爽99久久国产综合精品女不卡| 欧美乱妇高清无乱码| 国产精品免费在线| 亚洲国产精品一区| 亚洲欧美中文另类| 欧美日韩精品免费观看视频| 亚洲精品国产系列| 久久精品人人做人人综合| 久久久久久久一区二区| 黄色一区二区三区四区| 亚洲一区在线播放| 欧美电影免费| 一区二区三区精品视频在线观看| 蜜桃av久久久亚洲精品| 日韩视频在线免费观看| 久久人人看视频| 1024国产精品| 久久亚洲国产成人| 亚洲黄色天堂| 国产精品入口| 免费不卡在线视频| 亚洲淫片在线视频| 欧美偷拍一区二区| 久久精品日产第一区二区| 亚洲精品日韩综合观看成人91| 国产精品国产三级国产普通话99| 久久国产88| 欧美日韩视频不卡| 欧美一区二区成人6969| 欧美激情亚洲视频| 欧美影院在线| 欧美视频一区二区| 亚洲一区二区日本| 国产精品入口夜色视频大尺度| 亚洲一级在线观看| 亚洲福利在线观看| 国产一区二区三区四区老人| 香蕉免费一区二区三区在线观看| 欧美日韩在线观看一区二区| 久久久99精品免费观看不卡| 亚洲一区精品电影| 99国产精品久久久久久久成人热| 在线免费不卡视频| 国产综合色精品一区二区三区| 欧美精品在线观看| 美女在线一区二区| 老司机久久99久久精品播放免费| 久久成人免费电影| 日韩网站在线观看| 国产精品男gay被猛男狂揉视频| 午夜在线观看免费一区| 黑人一区二区| 欧美国产日韩在线| 亚洲一区亚洲二区| 中国av一区| 亚洲一区二区欧美日韩| 在线观看欧美日本| 国产精品成人一区二区| 久热精品视频在线| 夜夜嗨av色综合久久久综合网 | 欧美一区二区三区电影在线观看| 中文在线一区| 欧美在线视频免费观看| 久久av二区| 噜噜噜躁狠狠躁狠狠精品视频 | 夜夜嗨av一区二区三区| 国产欧美精品在线| 国产一区二区三区av电影| 欧美美女视频| 国产精品久久久久久久久 | 久久国产88| 免费成人毛片| 国产精品九九久久久久久久| 欧美不卡一卡二卡免费版| 欧美jjzz| 免费成人av在线| 久久久国产午夜精品| 久久综合免费视频影院| 欧美一级专区免费大片| 久久精品免费播放| 欧美激情成人在线| 国产欧美日韩麻豆91| 国产精品乱人伦中文| 欧美日韩黄色一区二区| 国产精品一区在线观看| 国产精品黄视频| 影音先锋亚洲视频| 一区二区亚洲欧洲国产日韩| 国产精品午夜av在线| 影音先锋亚洲视频| 亚洲永久在线| 欧美国产一区在线| 国产日韩一区二区三区在线播放 | 激情校园亚洲| 在线视频日本亚洲性| 老司机精品视频网站| 国产精品wwwwww| 亚洲黄色三级| 亚洲美女视频在线观看| 午夜一区不卡| 国产精品qvod| 国产精品永久免费观看| 亚洲精品美女免费| 久久亚洲不卡| 欧美日韩国产色视频| 欧美系列精品| 91久久在线视频| 亚洲视频999| 久久久久久穴| 欧美激情一区二区三区全黄| 欧美成人综合| 好看不卡的中文字幕| 亚洲激情网址| 久久精品综合一区| 国产精品一区二区久久| 9l国产精品久久久久麻豆| 女同性一区二区三区人了人一| 国产免费成人在线视频| 亚洲第一黄网| 久久久综合香蕉尹人综合网| 欧美激情一区二区三级高清视频 | 久久av一区二区三区漫画| 国产精品播放| 亚洲女同同性videoxma| 国产精品日本欧美一区二区三区| 中日韩男男gay无套| 欧美日韩四区| 亚洲性夜色噜噜噜7777| 国产精品久久久久毛片大屁完整版 | 亚洲一级影院| 国产精品久久久久影院色老大 | 欧美aⅴ99久久黑人专区| 永久域名在线精品| 老司机67194精品线观看| 在线高清一区| 欧美日韩精选| 亚洲欧洲日韩在线| 欧美日韩精品一区二区| 亚洲一区免费网站| 国产精品亚洲片夜色在线| 久久精品一区二区| 亚洲黄色视屏|