驅動框架 建立裝置 寫28個歷程

2021-07-26 10:59:15 字數 1115 閱讀 6743

#include"ntddk.h"

void xiezai1(pdriver_object qudongduixiang1)

ntstatus chuangjianshebei1(pdriver_object qudongduixiang1)

shebeiduixiang->flags |= do_buffered_io;//給裝置物件賦值

zhuangtai1=iocreatesymboliclink(&fuhaolianjieming1, &shebeiming1);//建立符號連線

if (nt_success(zhuangtai1))

return zhuangtai1;

}ntstatus chuangjianlicheng(pdevice_object shebeiduixiang1, pirp pirp)//必須這種格式 pirp是很重要的東西 請求包的意思_inout_ io管理器和驅動驅動程式互相傳遞的資料報 動態記錄驅動資訊 和io 管理器資訊 io管理器在呼叫歷程的時候

//使用者層在建立歷程的時候 呼叫進入核心 核心就生成irp物件 irp物件就負責請求的資訊 比如請求是什麼請求或者我們請求的標誌 我們的請求是屬於(下發)哪個裝置的 我們請求攜帶的使用者層傳來的一些資訊

//比如使用者層傳來的緩衝區記憶體 具體的讀資訊 具體的寫資訊 只是用於在io管理器和驅動程式互相傳遞的乙個資料報 會變的在io管理器是這樣的 傳給驅動程式 我們驅動程式可以對它進行操作

ntstatus guanbilicheng(pdevice_object shebeiduixiang1, pirp pirp)

ntstatus dulicheng(pdevice_object shebeiduixiang1, pirp pirp)

ntstatus xielicheng(pdevice_object shebeiduixiang1, pirp pirp)

ntstatus driverentry(pdriver_object qudongduixiang1, punicode_string zhucebiao1)

//-----------------------mfc

closehandle(jubing1);

}

Linux驅動(三) 完善裝置驅動自動建立裝置號

include include include include include include include argc 應用程式引數個數,包括應用程式本身 ar 具體的引數內容,字串形式 int main int argc,char ar filename ar 1 獲取檔名稱 fd open f...

4412驅動 led驅動 自動建立裝置節點

驅動 include include include include file operations include include request mem region include include class create device create define devname ldm st...

linux字元裝置驅動中自動建立裝置節點

簡述 1 裝置號 驅動等概念性問題 2 裝置號的自動分配和手動指定 3 mknode手動建立節點。編碼實現 1 核心點 要使的驅動能夠在載入時自動完成裝置節點的註冊,主要流程如下 驅動載入時完成如下工作 分配裝置號 註冊字元裝置 動態建立裝置節點。驅動解除安裝時完成如下工作 刪除裝置節點 取消字元裝...