windows下的裝置是以"/device/[裝置名]」形式命名的。例如磁碟分割槽的c盤,d盤的裝置名稱就是"/device/harddiskvolume1」,"/device/harddiskvolume2」, 當然也可以不指定裝置名稱。如果iocreatedevice中沒有指定裝置名稱,那麼i/o管理器會自動分配乙個數字作為裝置的名稱。例如"/device/00000001"。/device/[裝置名],不容易記憶,通常符號鏈結可以理解為裝置的別名,更重要的是裝置名,只能被核心模式下的其他驅動所識別,而別名可以被使用者模式下的應用程式識別,例如c盤,就是名為"c:"的符號鏈結,其真正的裝置物件是"/device/harddiskvolume1」,所以在寫驅動時候,一般我們建立符號鏈結,即使驅動中沒有用到,這也算是乙個好的習慣吧。
驅動中符號鏈結名是這樣寫的
l"//??//helloddk" --->/??/helloddk
l"//dosdevices//helloddk"--->/dosdevices/helloddk
在應用程式中,符號鏈結名:
l".//helloddk"-->//./helloddk
winobj和devicetree可以用來檢視這些資訊。
dosdevices的符號鏈結名就是??, 所以"//dosdevices//***x"其實就是"//??//***x"
**:
Windows驅動開發 符號鏈結和裝置名
windows下的裝置是以 device 裝置名 形式命名的。例如磁碟分割槽的c盤,d盤的裝置名稱就是 device harddiskvolume2 device harddiskvolume3 也可以不指定裝置名稱,那麼i o管理器會自動分配乙個數字作為裝置的名稱。例如 device 000000...
linux裝置驅動之PCIE驅動開發
pcie pci express 是intel提出的新一代的匯流排介面,目前普及的pcie 3.0的傳輸速率為8gt s,下一代pcie 4.0將翻番為16gt s,因為傳輸速率快廣泛應用於資料中心 雲計算 人工智慧 機器學習 視覺計算 顯示卡 儲存和網路等領域。pcie插槽是可以向下相容的,比如p...
LINUX裝置驅動開發之0418
目前android廠商大都使用kernel ramdisk.img dt.img的方式打包成boot.img。device tree的基本語法 dts檔案主要由 root node child node property include組成。root node 由 表示,dt的entry point...