日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

问一个AddDevice和设备符号链的问题??

發布時間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 问一个AddDevice和设备符号链的问题?? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問一個AddDevice和設備符號鏈的問題??


UNICODE_STRING ntDeviceName;
? ? ?UNICODE_STRING win32DeviceName;
? ? ?RtlInitUnicodeString(&ntDeviceName, L"Twdm1");
? ? ?RtlInitUnicodeString(&win32DeviceName, L"Twdm1"); ?
?
? DbgPrint("Starting AddDevice()/n");

? //創建我們的功能設備對象,并儲存到fdo中:
? status = IoCreateDevice(
? ? DriverObject, ? ? ? ? ? //驅動程序對象
? ? sizeof(DEVICE_EXTENSION), ? //要求的設備擴展的大小
? ? &ntDeviceName, ? ? ? ? ? ? ? ? //設備名稱,這里為NULL
? ? FILE_DEVICE_UNKNOWN, ? ? //設備的類型,在標準頭文件WDM.H或NTDDK.H中列出的FILE_DEVICE_xxx值之一
? ? 0, ? ? ? ? ? ? ? ? ? //各種常量用OR組合在一起,指示可刪除介質、只讀等。
? ? FALSE, ? ? ? ? ? ? ? ? //如果一次只有一個線程可以訪問該設備,為TRUE,否則為FALSE
? ? &fdo); ? ? ? ? ? ? ? ? //返回的設備對象

? //NT_SUCCESS宏用于測試IoCreateDevice內核是否成功完成。不要忘記檢查對內核的所有調用是否成功。
? //NT_ERROR宏不等同于!NT_SUCCESS,最好使用!NT_SUCCESS,因為除了錯誤外,它還截獲警告信息。
? if( !NT_SUCCESS(status))
? {
? ? ? ?DbgPrint("AddDevice(): IoCreateDevice failed!");
? ? return status;
? }
? else
? {
? ? ? ?DbgPrint("AddDevice(): IoCreateDevice OK!");
? }

? ? ?status = IoCreateSymbolicLink( &win32DeviceName, &ntDeviceName );
? ? ?if (!NT_SUCCESS(status))
? ? ?{
? ? ? ? ? ?DbgPrint("TWDM: IoCreateSymbolicLink() faild ! /n");
? ? ?}
? ? ?else
? ? ?{
? ? ? ? ? ?DbgPrint("TWDM: IoCreateSymbolicLink() ok ! /n");
? ? ?}

? 為什么驅動程序加載的時候顯示“AddDevice(): IoCreateDevice failed!”呢?

好像是設備名字不對

改成這兩句試試

RtlInitUnicodeString(&ntDeviceName, L"//Device//Twdm1");
RtlInitUnicodeString(&win32DeviceName, L"//DosDevices//Twdm1");


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的问一个AddDevice和设备符号链的问题??的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。