共用方式為


封送處理字串

平台調用會複製字串參數,並在需要時將其從 .NET Framework 格式(Unicode)轉換為非受控格式(ANSI)。 因為 Managed 字串是不可變的,所以當函式傳回時,平臺調用不會將它們從 Unmanaged 記憶體複製回 Managed 記憶體。

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

繩子 說明 範例
依值。 將字串傳遞為 In 參數。 MsgBox
結果是。 從非管理代碼傳回字串。 字串
依參考。 使用 StringBuilder傳遞字串作為 In/Out 參數。 緩衝區
以值形式的結構中 在結構中傳遞字串,該結構為 In 參數。 結構體
在結構中使用傳址 (char*) 在結構中傳遞字串,該結構為 In/Out 參數。 非受管函式需要指向字元緩衝區的指標,且緩衝區大小是結構體中的一個成員。 字串
以傳址 方式在 結構中 (char[]) 在結構中傳遞字串,該結構為 In/Out 參數。 非受控函數需要嵌入式字元緩衝區。 OSInfo
類別為值類型 (char*) 傳遞類別中的字串(類別是 In/Out 參數)。 未管理函式需要字串緩衝區的指標。 OpenFileDlg
依值排序的類別中(char[])。 傳遞類別中的字串(類別是 In/Out 參數)。 非受控函數需要嵌入式字元緩衝區。 OSInfo
以值形式作為字串陣列。 建立以傳值方式傳遞的字串陣列。 陣列
作為包含字串值的結構陣列。 建立結構陣列,其中包含字串,而陣列會以傳值方式傳遞。 陣列

另請參閱