欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

問津BSTR

系統 1707 0

COM 中除了使用一些簡單標準的數據類型外(注2),字符串類型需要特別重點地說明一下。還記得原則嗎? COM 組件是運行在分布式環境中的 。通俗地說,你不能直接把一個內存指針直接作為參數傳遞給COM函數。你想想,系統需要把這塊內存的內容傳遞到“地球另一 邊”的計算機上,因此,我至少需要知道你這塊內存的尺寸吧?不然讓我如何傳遞呀?傳遞多少字節呀?!而字符串又是非常常用的一種類型,因此 COM 設計者引入了 BASIC 中字符串類型的表示方式---BSTR。BSTR 其實是一個指針類型,它的內存結構是:(輸入程序片段 BSTR p = ::SysAllocString(L"Hello,你好");斷點執行,然后觀察p的內存)


圖二、BSTR 內存結構

  BSTR 是一個指向 UNICODE 字符串的指針,且 BSTR 向前的4個字節中,使用DWORD保存著這個字符串的字節長度( 沒有含字符串的結束符)。因此系統就能夠正確處理并傳送這個字符串到“地球另一 邊”了。特別需要注意的是,由于BSTR的指針就是指向 UNICODE 串,因此 BSTR 和 LPOLESTR 可以在一定程度上混用,但一定要注意:
  有函數 fun(LPCOLESTR lp),則你調用 BSTR p=...; fun(p); 正確
  有函數 fun(const BSTR bstr),則你調用 LPCOLESTR p=...; fun(p); 錯誤!!!
有關 BSTR 的處理函數:

API 函數 說明
SysAllocString() 申請一個 BSTR 指針,并初始化為一個字符串
SysFreeString() 釋放 BSTR 內存
SysAllocStringLen() 申請一個指定字符長度的 BSTR 指針,并初始化為一個字符串
SysAllocStringByteLen() 申請一個指定字節長度的 BSTR 指針,并初始化為一個字符串
SysReAllocStringLen() 重新申請 BSTR 指針

CString 函數

說明

AllocSysString() 從 CString 得到 BSTR
SetSysString() 重新申請 BSTR 指針,并復制到 CString 中

CComBSTR 函數

ATL 的 BSTR 包裝類。在 atlbase.h 中定義

Append()、AppendBSTR()、AppendBytes()、ArrayToBSTR()、BSTRToArray()、AssignBSTR()、Attach()、Detach()、Copy()、CopyTo()、Empty()、Length()、ByteLength()、ReadFromStream()、WriteToStream()、LoadString()、ToLower()、ToUpper()
運算符重載:!,!=,==,<,>,&,+=,+,=,BSTR
太多了,但從函數名稱不能看出其基本功能。詳細資料,查看MSDN 吧。另外,左側函數,有很多是 ATL 7.0 提供的,VC6.0 下所帶的 ATL 3.0 不支持。
由于我們將來主要用 ATL 開發組件程序,因此使用 ATL 的 CComBSTR 為主。VC也提供了其它的包裝類 _bstr_t。

問津BSTR


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国语一级毛片 | 在线观看亚洲网站 | 四虎884aa永久播放地址http | 九九综合 | 精品久久久久久久 | 国产精品福利在线观看免费不卡 | 欧美一区二区三区在线观看视频 | 亚洲一区二区免费看 | 男人用嘴添女人下身免费视频 | 一级做a爰片久久毛片看看 欧美日韩精品国产一区二区 | 国产99999 | 日本高清视频www | 亚洲一区二区三区免费视频 | 国产精品一区在线观看你懂的 | 精品久久久久久久久久久久 | 久久亚洲这里只有精品18 | 三级大片在线观看 | 久久久国产视频 | 天天色色色 | 丁香花成人另类小说 | 国产乱色精品成人免费视频 | 狠狠干奇米 | 免费黄色福利 | 五月天丁香久久 | 91久久在线| 天天影院成人免费观看 | 日本黄页网站在线观看 | 欧美电影网 在线电影 | 在线免费观看h片 | 亚洲婷婷综合中文字幕第一页 | cosplay裸体福利写真 | 黄免费观看视频 | 午夜在线小视频 | 国产亚洲欧美一区二区 | 特级做a爰片毛片免费看 | 国产美女的小嫩bbb图片 | 国内精品一区二区 | 久久精热 | 九九热免费视频在线观看 | 国产精品综合色区小说 | 国产日韩精品一区 |