這是發布自己的 vspackage 之前必做的乙個步驟:由於一系列原因(天知道什麼原因,可能想記錄一下人們拿他的vs擴充套件了什麼吧),要想在別人沒裝vssdk的機子上執行你的 pkg 是不行的,除非有對應的 package load key (plk),那麼這個該死的東西怎麼得到呢?其實也很簡單,上vsx主頁就能找到申請plk的鏈結,點進去,準確地填寫好相關資訊,其實在一段時間之前還要註冊帳號新建product的(到底多久之前?慚愧,本人獲取新資訊能力太慢,上去以後就發現已經是anonymous了……)
填寫的時候注意了,資訊填錯,與package的資訊「相差乙個字元」都會產生package load failure,要是在那個黑暗的舊時代,你就得重新建立產品,說不定還得重新註冊,不過在今天新社會就沒那麼嚴重了,但是如果沒有意識到這個問題的話,還是會為此花掉相當一部分有意義的時間的。至於guid的格式,上面要求帶{},但是我試過帶不帶{}都返回同乙個plk的,但是既然人家這樣要求了,可能以後真的這樣要求也說不定,還是守下規矩好。
得到的一長串plk,給你的時候分了幾行,但實際上是不斷開的,將這段東西複製新增到專案裡的任意資源檔案,隨便為他起個數字(resourceid),就可以用這些資訊填寫那個provideloadkeyattribute了,做好後先build一下專案,好讓其編譯進去,再修改專案屬性,在debug的build選項裡新增乙個 /novsip,然後就可以按f5除錯,看看載入成不成功了,不成功的話好好對比一下那些字串吧!(估計用@""這種表示式出錯機率會少點)
記憶體的申請和釋放
常規用法 virtualalloc lpvoid lpaddress,size t dwsize,dword flallocationtype,dword flprotect lpaddress,指定記憶體開始的位址。dwsize,分配記憶體的大小。flallocationtype,分配記憶體的型別...
私有記憶體申請和釋放
私有記憶體 獨佔物理頁 共享記憶體 和別人共享物理頁 由圖可知,多了乙個390 391,兩個物理頁 釋放記憶體 virtualfree lpvoid lpaddress,區域位址 size t dwsize,區域大小,位元組 dword dwfreetype 型別 mem decommit,線形位址...
共享記憶體申請和釋放
私有記憶體 獨佔物理頁 共享記憶體 和別人共享物理頁 invalid handle value,為invalid handle value時,不與檔案關聯 null,安全描述符 page readwrite,保護模式 讀寫的許可權 0,32位通常為空 bufsiz,物理頁的大小 mapfilenam...