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...