USB設備驅動(dòng)程序的設計
對象I包含了應用程序下傳的IRP內容,包括命令或數據等參數,函數BuildVendorRequest用來(lái)分配并初始化一個(gè)用于廠(chǎng)商請求的URB(USB Request Block),該URB將作為下傳IRP的一個(gè)參數,通過(guò)函數SubmitUrb發(fā)送給總線(xiàn)驅動(dòng)程序,以便完成與硬件的通信。
本文引用地址:http://dyxdggzs.com/article/94605.htm在初始化URB時(shí)需要了解USB的傳輸方式及傳輸協(xié)議,該功能使用了USB的控制傳輸方式,該方式包括三個(gè)階段:設置階段、數據階段和狀態(tài)階段,其中數據階段可選,開(kāi)發(fā)者主要關(guān)注設置階段中的8個(gè)關(guān)鍵字節的定義,8字節分成了5個(gè)字段,定義了傳輸請求及相關(guān)信息,這8個(gè)字節的格式如圖3所示。
bmRequestType
bRequest
wValue
wIndex
wLength
圖3 USB設置數據格式
評論