程序入門之使用檔案對映

2021-06-20 23:23:23 字數 730 閱讀 1930

服務端涉及的api

任何可以獲得的物理檔案控制代碼, 如果你需要建立乙個物理檔案無關的記憶體對映也無妨, 將它設定成為 0xffffffff(invalid_handle_value)就可以了.

如果需要和物理檔案關聯, 要確保你的物理檔案建立的時候的訪問模式和"保護設定"匹配, 比如: 物理檔案唯讀, 記憶體對映需要讀寫就會發生錯誤. 推薦你的物理檔案使用獨佔方式建立.

2、 mapviewoffile   把這個檔案物件 對映到 該程序的位址空間,即該程序可以用這個 檔案物件了,返回乙個指標,如m_psharedblock

3、利用返回的指標,可以往裡面寫資料。如  memcpy(m_psharedblock,(char*)str.getbuffer(str.getlength()),str.getlength());

4、可以利用該指標,獲取資料。getdlgitem(idc_edit2)->setwindowtext((lpctstr)m_psharedblock);

5、結束對映 unmapviewoffile(m_psharedblock);

客戶端涉及的api

2、mapviewoffile  把檔案對映到當前程序的位址空間,返回乙個位址

3、 同服務端的4 樣,獲取該位址下的資料。

4、結束對映

unmapviewoffile(pview);

5、關閉對映檔案

closehandle(hmapfile);

參考 參考

程序間通迅之檔案對映

windows ce 同樣支援無名和有名的記憶體對映檔案。在開發軟體的過程中,如果需要讀寫大容量的檔案,或者需要在不同程序內的執行緒之間通訊,最好採用記憶體對映檔案,而且最好在全域性位址空間內 0x4200 0000 到0x7fff ffff 分配。這會事半功倍。嵌入式系統採用兩級頁表的方式進行虛實...

檔案對映實現程序通訊

需要用到兩個重要的api 1.handle hfile 2.1 security attributes 它指明返回的控制代碼是否可以被子程序所繼承,指定乙個安全物件,在建立檔案對映時使用。2.2 null 用byval as long傳遞零 表示使用預設安全物件。3.dword flprotect ...

記憶體對映檔案與SendMessage程序間通訊寫寫

才寫完了作業,碰到了一些問題,也學會了很多,寫出來總結下,也讓碰到此問題的人有個答案。在寫之前剛剛看打了 2010中國大學創業富豪榜 有的才26,突然覺得很失落。好了,不管那了,進正題。此次的作業主要是利用記憶體對映檔案技術,實現如顯示,寫入,程序間共享等。先解釋記憶體對映檔案,如果說的不那麼專業的...