Windows MDL原理總結

2021-06-21 02:57:18 字數 841 閱讀 2914

1 先是mdl的資料結構。

2 下面根據用法逐步的講解mdl資料結構的含義:

一般用法,先是 ioallocatemdl :

原型為:

最常用的是virtualaddress和length。把自己的nonpageable buffer的起始位址傳給ioallocatemdl ,長度也傳給他。

可是這個函式具體做了啥呢(下面只是些基本的影響理解的部分,具體更多的東西,更細節的東西,自己去看wrk的**)?

然後使用mmbuildmdlfornonpagedpool

將pte中的頁表項都放入mdl中的body部分。

這裡show一下關鍵性**:

這樣mdl結構整體的構建就結束了,開始使用mdl。使用mmmaplockedpagesspecifycache

將mdl中儲存的physical address page對映到虛擬位址中。

**較多,不看了。但是看看函式原型應該就能明白:

這樣的話,返回值就是我們重新對映的虛擬位址。就可以使用這個虛擬位址進行訪問了。

以上只是最簡單的基本用法,但也是最常用的。

編譯原理 總結

一 編譯程式 1 編譯器是一種翻譯程式,它用於將源語言 即用某種程式語言寫成的 程式翻譯為目標語言 即用二進位制數表示的偽機器 寫成的 程式。後者在windows作業系統平台下,其檔案的副檔名通常為.obj。該檔案通常還要經過進一步的連線,生成可執行檔案 機器 寫成的程式,擴充套件名為.exe 通常...

編譯原理總結

從左至右掃瞄字串行,識別出單詞 關鍵字 標示符 常數 特殊符號 按照語言語法的規則,將詞法分析所得的單詞分解為各個語法成分。分析單詞串是否構成短語和句子 源程式進行上下文有關性質的檢查,看源程式有無語義錯誤。例如 變數是否定義 型別是否正確 含義明確 便於處理的記號系統。這種記號系統於源程式和機器語...

GAN原理總結

趁著期末補報告的機會,順便發個 基本上是兩篇經典文獻generative adversarial networks與unsupervised representation learning with deep convolutional generative adversarial networks...