共用方式為


封送處理字串

更新:2007 年 11 月

如果需要的話,平台叫用會複製字串參數,將它們從 .NET Framework 格式 (Unicode) 轉換成 Unmanaged 格式 (ANSI)。因為 Managed 字串是不變的,所以當函式傳回時,平台叫用並不會從 Unmanaged 記憶體中將 Managed 字串複製回 Managed 記憶體。

下表列出字串的封送處理選項、說明其用法,並提供對應之 .NET Framework 範例的連結。

字串

說明

範例

傳值方式

將字串當成 In 參數傳遞

MsgBox

做為結果

從 Unmanaged 程式碼傳回字串

Strings

傳址方式

使用 StringBuilder,將字串當成 In/Out 參數傳遞

Buffers

在結構中 - 傳值方式

傳遞結構中的字串 (結構是 In 參數)

Structs

在結構中 - 傳址方式 (char*)

傳遞結構中的字串 (結構是 In/Out 參數)。Unmanaged 函式預期是字元緩衝區的指標,而緩衝區大小是結構的成員

Strings

在結構中 - 傳址方式 (char[])

傳遞結構中的字串 (結構是 In/Out 參數)。Unmanaged 函式預期是內嵌字元緩衝區

OSInfo

在類別中 - 傳值方式 (char*)

傳遞類別中的字串 (類別是 In/Out 參數)。Unmanaged 函式預期字元緩衝區的指標

OpenFileDlg

在類別中 - 傳值方式 (char[])

傳遞類別中的字串 (類別是 In/Out 參數)。Unmanaged 函式預期是內嵌字元緩衝區

OSInfo

做為傳值字串的陣列

建立以傳值方式傳遞的字串陣列

Arrays

做為含有傳值字串的結構陣列

建立含有字串的結構陣列,而且陣列是以傳值方式傳遞

Arrays

請參閱

概念

平台叫用資料型別

封送處理類別、結構和等位

封送處理型別的陣列

其他封送處理範例

其他資源

使用平台叫用封送處理資料