freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm7的煤粉濃度測量儀的設計畢業(yè)論文-資料下載頁

2025-06-19 13:15本頁面
  

【正文】 USB API. 當他安裝為USB設備的功能驅(qū)動時,應用程序可以使用這些API 進行通信。對于一個不需要自定義功能驅(qū)動的設備, 可以被安裝在這個設備的內(nèi)核模式站作為功能驅(qū)動. 。WinUSB API———就像配置設備,發(fā)送控制請求,從設備讀取或發(fā)送數(shù)據(jù)到設備—應用程序調(diào)用WinUSB API。在內(nèi)部。 當這些請求完成,—例如一個讀請求的數(shù)據(jù)—返回到調(diào)用的進程.使用 WinUSB API 和設備通信是更簡單的但是有以下的限制:同一時間WinUSB ,你必須自定義一個驅(qū)動。WinUSB API 不支持同步端點的數(shù)據(jù)流,同步傳輸需要一個內(nèi)核模式功能驅(qū)動。WinUSB API不支持已經(jīng)擁有內(nèi)核模式支持的設備。對于多功能設備, 。然而,你只能指定這些選項中的一個。在你的應用程序使用 WinUSB API 和設備通信之前,你必須安裝 作為設備的功能驅(qū)動。為了這樣做,需要創(chuàng)建一個包包含以下幾項:(1)WinUSB 協(xié)作安裝包,如果需要它可以安裝WinUSB到目標系統(tǒng)中。WDK包含三個版本的安裝包:一個用于X86系統(tǒng),一個用于X64系統(tǒng),另外一個用于安騰系統(tǒng),他們都位于WinDDK\BuildNumber\redist\winusb目錄下(2)KMDF協(xié)作安裝包,如果需要它可以安裝正確的KMDF版本到目標系統(tǒng)中,所以這個安裝包是需要的,,:WinDDK\BuildNumber\redist\wdf(3)。微軟提供了一個INF文件模板,經(jīng)過簡單的修改就可以應用到大部分的USB設備,主要更改VID、PID,使其與下位機中的VID、PID一致(4)一個用于該包的簽名catalog文件,當安裝WinUsb到Windows Vista的X64版本時這個文件是需要的。注意: 由于新的WDF版本被發(fā)布,這些協(xié)作安裝包的命名可能隨著WDF版本號改變。 . : [Version]Signature = $Windows NT$Class = MyDeviceClassClassGuid={78A1C341453911d3B88D00C04FAD5171}Provider = %ProviderName%CatalogFile=。 ================== Class section ==================[ClassInstall32]Addreg=MyDeviceClassReg[MyDeviceClassReg]HKR,,0,%ClassName%HKR,Icon,1。 ========== Manufacturer/Models sections ===========[Manufacturer]%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64,NTia64[]%USB\% =USB_Install, USB\VID_0547amp。PID_1002[]%USB\% =USB_Install, USB\VID_0547amp。PID_1002[]%USB\% =USB_Install, USB\VID_0547amp。PID_1002。 =================== Installation ===================。[1][USB_Install]Include=Needs=。[2][]Include=AddService=WinUSB,0x00000002,WinUSB_ServiceInstall。[3][WinUSB_ServiceInstall]DisplayName = %WinUSB_SvcDesc%ServiceType = 1StartType = 3ErrorControl = 1ServiceBinary = %12%\。[4][]KmdfService=WINUSB, WinUsb_Install[WinUSB_Install]KmdfLibraryVersion=。[5][]AddReg=Dev_AddReg[Dev_AddReg]HKR,DeviceInterfaceGUIDs,0x10000,{b35924d63e164a9e97825524a4b79bac}。[6][]AddReg=CoInstallers_AddRegCopyFiles=CoInstallers_CopyFiles[CoInstallers_AddReg]HKR,CoInstallers32,0x00010000,WdfCoInstaller,[CoInstallers_CopyFiles][DestinationDirs]CoInstallers_CopyFiles=11。 ================= Source Media Section =====================。[7][SourceDisksNames]1 = %DISK_NAME%,,\i3862 = %DISK_NAME%,,\amd643 = %DISK_NAME%,,\ia64[]=1=1[]=2=2[]=3=3。 =================== Strings ===================[Strings]ProviderName=MyWinUsbTestUSB\=Test using WinUSB onlyWinUSB_SvcDesc=WinUSB TestDISK_NAME=My Install DiskClassName=MyDeviceClass通過簡單的修改,這個INF可以被用于大部分的USB設備。一般的,你需要改變“USB_Install” 為節(jié)點的名字。你也需要對版本,制造商,模型部分做一些簡單的改變, 如 提供一個適當?shù)闹圃焐堂Q,你指定的catalog文件的名稱,正確的設備類,設備的廠商識別碼 (VID) 和產(chǎn)品識別碼 (PID) 。注意: USB設備類的更多信心參照WDK中的 “支持USB設備類”。除了設備特定的值和在下面的列表指出幾個問題,你可以不加修改地使用這些路段和指示安裝任何USB設備WinUSB。INF文件通常也包含了安裝相關應用程序的指令。最簡單的方法是插入設備后使用添加新硬件向?qū)Щ蛟O備管理器安裝使用本節(jié)中討論INF驅(qū)動程序。怎樣使用WinUSB API,相關的應用程序可以通過WinUSB API與這個設備進行通信,為了能夠在應用程序中使用WinUSB API,需要:(1),它包含在WDK中,位于目錄WINDDK\BuildNumber\inc\ddk。(2),適用于Windows XP的版本位于目錄:WINDDK\BuildNumber\lib\wxp\i386,這里也有適用于Windows Vista系統(tǒng)的不同版本來適用不同的CPU結(jié)構,他們位于目錄:WINDDK\BuildNumber\lib\wlh。(3),這個不是必須的,但是里面包含了一些很有用的宏,他也位于目錄WINDDK\BuildNumber\inc\ddk中。為了能夠訪問設備,應用程序必須:(1)使用設備的接口GUID得到一個與設備相關聯(lián)的句柄(2)使用這個句柄初始化WinUSB。(3)使用WinUSB API來配置設備(4)使用WinUSB API與端點通信得到設備句柄,初始化WinUSB為了使用WinUSB API, 你必須首先得到一個設備的文件句柄,同時使用這個句柄初始化設備。這個程序的前兩個步驟與得到任何一個設備的句柄的步驟是相似的。1. 使用設備接口GUID 得到設備路徑。2. 使用步驟1中的設備路徑得到設備的文件句柄。3. 傳遞文件句柄到函數(shù)WinUsb_Initialize來初始化WinUSB同時得到一個WinUSB 句柄。當你調(diào)用WinUSB API函數(shù)時,你使用設備的WinUSB句柄來來識別設備,而不是設備的文件句柄。得到設備路徑應用程序的GetDevicePath 函數(shù), 使用設備接口的 GUID 來得到設備路徑。它與用于大多數(shù)設備的Setup API代碼十分相似,但是它這里包含完整性。關于更多的信息, 參看MSDN中的 “Setup API”:BOOL GetDevicePath(LPGUID InterfaceGuid, PCHAR DevicePath, size_t BufLen){ BOOL bResult = FALSE。 HDEVINFO deviceInfo。 SP_DEVICE_INTERFACE_DATA interfaceData。 PSP_DEVICE_INTERFACE_DETAIL_DATA detailData = NULL。 ULONG length。 ULONG requiredLength=0。 HRESULT hr。 deviceInfo = SetupDiGetClassDevs(InterfaceGuid, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE)。...//Error handling code omitted. = sizeof(SP_DEVICE_INTERFACE_DATA)。 bResult = SetupDiEnumDeviceInterfaces(deviceInfo, NULL, InterfaceGuid, 0, amp。interfaceData)。...//Error handling code omitted. SetupDiGetDeviceInterfaceDetail(deviceInfo, amp。interfaceData, NULL, 0, amp。requiredLength, NULL)。 detailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA) LocalAlloc(LMEM_FIXED, requiredLength)。 if(NULL == detailData) { SetupDiDestroyDeviceInfoList(deviceInfo)。 return FALSE。 } detailDatacbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA)。 length = requiredLength。 bResult = SetupDiGetDeviceInterfaceDetail(deviceInfo, amp。interfaceData, detailData, length, amp。requiredLength, NULL)。 if(FALSE == bResult) { LocalFree(detailData)。 return FALSE。 } hr = StringCchCopy(DevicePath, BufLen, detailDataDevicePath)。 if(FAILED(hr)) { SetupDiDestroyDeviceInfoList(deviceInfo)。 LocalFree(detailData)。 } LocalFree(detailData)。 return bResult。}得到一個設備的文件句柄應用程序的OpenDevice函數(shù)得到一個設備的文件句柄,通過傳遞設備路徑到CreateFile函數(shù)。1. 調(diào)用 GetDevicePath 使用工具函數(shù)得到設備路徑,GetDevicePath在前面的章節(jié)被討論過。2. 傳遞設備路徑到CreateFile,得到一個設備的文件句柄。這個例子得到一個同步讀寫設備 文件句柄。關于怎樣打開一個同步IO文件句柄的詳
點擊復制文檔內(nèi)容
電大資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1