封送處理字串

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

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

字串 說明 範例

傳值方式

將字串當成 In 參數傳遞

MsgBox

做為結果

從 Unmanaged 程式碼傳回字串

字串

傳址方式

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

緩衝區

在結構中 - 傳值方式

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

結構

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

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

字串

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

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

OSInfo

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

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

OpenFileDlg

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

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

OSInfo

做為傳值字串的陣列

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

Arrays

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

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

Arrays

請參閱

概念

平台叫用資料型別
封送處理類別、結構和等位
封送處理型別的陣列
其他封送處理範例

其他資源

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