freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

com:可連接對象結構化存儲-資料下載頁

2025-10-03 16:06本頁面

【導讀】類型信息由組件一方提供??蛻籼峁┏鼋涌诘膶崿F,實現出接口的COM. 也是一個COM接口,有IID. 每個成員函數代表了:。普通的COM對象,支持一個或者多個出。連接枚舉器——實現IEnumConnections接口

  

【正文】 根存儲第一章 第二章第一節(jié)文件頭章信息............第二節(jié)節(jié)信息 圖片格式信息 位圖數據第二章第一節(jié) 章信息第二節(jié)節(jié)信息 表格格式信息 表格數據..................? 復合文件格式的文檔結構 結構化存儲特性 —— 訪問模式 ? STGM_CREATE ? STGM_CONVERT ? STGM_FAILIFTHERE ? STGM_DELETEONRELEASE ? STGM_DIRECT ? STGM_TRANSACTED ? STGM_PRIORITY ? STGM_READ ? STGM_WRITE ? STGM_READWRITE ? STGM_SHARE_DENY_READ ? STGM_SHARE_DENY_WRITE ? STGM_SHARE_EXCLUSIVE ? STGM_SHARE_DENY_NONE 結構化存儲特性 —— 事務機制 ? 數據一致性和完整性 ? 操作: Commit、 Revert ? 事務嵌套:以 STGM_TRANSACTED標志為基礎 ? 事務機制需要消耗較多系統(tǒng)資源 ? Commit參數: – STGC_DEFAULT – STGC_OVERWRITE – STGC_ONLYIFCURRENT – STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE 結構化存儲特性 —— 命名規(guī)則 ? 根存儲對象的名字遵守文件系統(tǒng)的命名約定 ? 長度不超過 32個字符 ? 首字符使用大于 32的字符,小于 32的字符作為首字符有特殊意義 ? 不能使用字符 “ \”、 “ /”、 “ :”和 “ !” ? 名字 “ .”和 “ ..”被保留 ? 名字保留大小寫,但比較操作大小寫無關 結構化存儲特性 —— 增量訪問 ?減少保存和打開文件的時間 ?降低了應用程序對系統(tǒng)資源的要求 ?問題: –通過根存儲逐層找到目標對象 –空間回收 復合文檔 ?結構化存儲的具體實現 ?底層機制: LockBytes對象 –把存儲介質描述成一般化的字節(jié)序列 ?復合文檔 API函數 ?零內存保存特性 LockBytes 復合文檔模型 root Disk 其他 Memory LockBytes對象 ? ILockBytes接口 class ILockBytes : public IUnknown { public : virtual HRESULT ReadAt (ULARGE_INTEGER , VOID *pv, unsigned long , unsigned long *) = 0。 virtual HRESULT WriteAt (ULARGE_INTEGER , VOID *pv, unsigned long , unsigned long *) = 0。 virtual HRESULT Flush ()= 0。 virtual HRESULT SetSize (ULARGE_INTEGER cb) = 0。 virtual HRESULT LockRegion (ULARGE_INTEGER , ULARGE_INTEGER , unsigned long ) = 0。 virtual HRESULT UnlockRegion (ULARGE_INTEGER , ULARGE_INTEGER , unsigned long ) = 0。 virtual HRESULT Stat (STATSTG *, unsigned long ) = 0。 }。 復合文檔 API函數 ? 創(chuàng)建復合文檔的 API函數 – StgCreateDocfile、 StgCreateDocfileOnILockBytes ? 打開復合文檔的 API函數 – StgOpenStorage、 StgOpenStorageOnILockBytes ? 與內存句柄有關的一組操作函數 – CreateILockBytesOnHGlobal、GetHGlobalFromILockBytes – CreateStreamOnHGlobal、 GetHGlobalFromStream ? 其他 零內存保存特性 ? 意義:資源耗盡之后,保留修改信息 ? 資源預留,對于所有的流對象和存儲對象 ? “ Save”操作,只要調用 Commit函數即可 ? “ Save As”操作,利用根存儲對象上的IRootStorage接口,調用 SwitchToFile成員函數,再調用 Commit函數即可。 與 CLSID的聯系 ? IStorage::SetClass函數把存儲對象與 CLSID聯系起來 ? GetClassFile函數,從文件到 CLSID: 復合文件,直接得到根存儲的 CLSID 非復合文件: (1) 文件擴展名 〉 ProgID〉 CLSID (2) HKEY_CLASSES_ROOT\FileType鍵提供了匹配規(guī)則: HKEY_CLASSES_ROOT FileType {clsid } type id = offset,cb,mask,value type id = offset,cb,mask,value 復合文檔與 COM的關系 ? 復合文檔技術以 COM為基礎 ? 應用程序在處理復合文檔時 – 把 storage或 stream直接交給 COM組件來處理 – COM組件接受 storage或 stream作為數據存儲 – 多個組件協(xié)同處理同一個文件 ? 永久對象 永久對象 ? 永久對象 – 實現了 IPersistXXX接口的 COM對象 ? 永久接口: – class IPersist : public IUnknown – class IPersistStream : public IPersist – class IPersistStreamInit : public IPersist – class IPersistFile : public IPersist – class IPersistStorage : public Ipersist ? 永久接口的成員函數: – GetClassID、 IsDirty、 Load和 Save, … ... ? 永久對象可以實現多個永久接口,但使用時要保持一致性 永久對象用法 ?永久對象與結構化存儲模型結合 ?永久對象例子 –用 MFC實現的 COM對象 –功能:永久狀態(tài)為一段文本,使用永久接口對文本維護 –實現了 IPersistStream和一個自動化接口 復合文檔例子 復合文檔查看工具
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1