NT裝置擴充套件 在WDF中的使用方式

2021-10-09 06:38:31 字數 956 閱讀 9754

typedef

struct _driver_context

driver_context,

*pdriver_context;

//********* 申明乙個函式getdrivercontext,用於訪問該結構 在wdf驅動中必須這樣做 訪問方式下面介紹 *********

wdf_declare_context_type_with_name

(driver_context, getdrivercontext)

wdf_object_attributes driverattributes;

//該巨集是吧擴充套件結構保到物件屬性中

wdf_object_attributes_init_context_type

(&driverattributes, driver_context)

;

wdfdrivercreate

(pdriverobject,

registrypath,

&driverattributes,

//這了就指定了擴充套件結構,建立物件時,會分配乙個記憶體來給擴充套件結構使用.

&wdfconfig,

&wdfdriver

);

wdfdriver driver;

//需要有這個物件才能訪問到

pdriver_context pdrivercontext =

getdrivercontext

(driver)

;

思考了一下,wdf驅動中,建立物件時,如果有wdf_object_attributes 型別的引數.,那麼應該是可以用這種方式來訪問擴充套件結構

建立裝置函式wdfdevicecreate的第二個引數就是上述型別,所以可以使用擴充套件結構來儲存全域性資訊.

在裝置樹中時鐘的簡單使用

核心中關於時鐘的描述文件 documentation devicetree bindings clock clock bindings.txt documentation devicetree bindings clock samsung,s3c2410 clock.txt a.裝置樹中定義了各種時...

Select在Socket程式設計中的使用方法

select在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太愛用select寫程式,他們只是習慣寫諸如 connect accept recv或recvfrom這樣的阻塞程式 所謂阻塞方式block,顧名思義,就是程序或是執行緒執行到這些函式時必須等 待某個事件的發生,...

WDM中的結構 4 裝置擴充套件

wdm中的結構 裝置擴充套件 裝置擴充套件 device extension 是與裝置物件相關的另一種重要的資料結構。可以用它來儲存與特定裝置關聯的資訊。裝置擴充套件其實只是乙個未分頁的池,由驅動開發者來定義它的大小和內容。並由i o管理器自動把它分配給裝置物件,即裝置物件的pvoid device...