在託管代碼中 封送處理字符串

http://msdn.microsoft.com/zh-cn/windows/hardware/e8w969hb(v=vs.71)

封送處理字符串

平臺調用複製字符串參數,並在必要時將其從 .NET Framework 格式 (Unicode) 轉換爲非託管格式 (ANSI)。 由於託管字符串是不可變的,因此當函數返回時,平臺調用不會將它們從非託管內存複製回託管內存。

下表列出了字符串的封送處理選項,描述了它們的用法,並提供了到相應的 .NET Framework 示例的鏈接。

String

說明

示例

通過值傳遞。

將字符串作爲 In 參數傳遞。

MsgBox

作爲結果。

從非託管代碼返回字符串。

字符串

通過引用傳遞。

使用 StringBuilder 將字符串作爲 In/Out 參數傳遞。

Buffers

在結構中通過值傳遞。

在作爲 In 參數的結構中傳遞字符串。

結構

在結構中通過引用傳遞(char*)

在作爲 In/Out 參數的結構中傳遞字符串。 非託管函數需要指向字符緩衝區的指針,並且緩衝區大小是結構的成員。

字符串

在結構中通過引用傳遞(char[])

在作爲 In/Out 參數的結構中傳遞字符串。 非託管函數需要嵌入的字符緩衝區。

OSInfo

在類中通過值傳遞 (char*)

在作爲 In/Out 參數的類中傳遞字符串。 非託管函數需要指向字符緩衝區的指針。

OpenFileDlg

在類中通過值傳遞(char[])

在作爲 In/Out 參數的類中傳遞字符串。 非託管函數需要嵌入的字符緩衝區。

OSInfo

作爲通過值傳遞的字符串數組。

創建通過值傳遞的字符串數組。

數組

作爲包含通過值傳遞的字符串的結構數組。

創建包含字符串的結構數組,並且該數組是通過值傳遞的。

數組


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章