本文件已封存並已停止維護。

Marshal.StringToCoTaskMemAuto 方法

複製 Managed String 的內容到從 Unmanaged COM 工作配置器配置的記憶體區塊。

命名空間: System.Runtime.InteropServices
組件: mscorlib (在 mscorlib.dll 中)

public static IntPtr StringToCoTaskMemAuto (
	string s
)
public static IntPtr StringToCoTaskMemAuto (
	String s
)
public static function StringToCoTaskMemAuto (
	s : String
) : IntPtr

參數

s

要複製的 Managed 字串。

傳回值

配置的記憶體區塊,但如果提供 null 字串的話,則為 0。

例外狀況類型條件

OutOfMemoryException

沒有足夠的記憶體可用。

StringToCoTaskMemAuto 在自訂封送處理或混用 Managed 和 Unmanaged 程式碼時很有用處。由於這個方法配置字串所需要的 Unmanaged 記憶體,所以請永遠呼叫 FreeCoTaskMem 以釋放記憶體。這個方法提供與 Marshal.PtrToStringAuto 相反的功能。

字串的字元不是當做 ANSI 就是當做 Unicode 字元來複製,取決於程式碼執行所在的作業系統。在 Windows 98,字元當做 ANSI 字元複製。在 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 系列產品,字元當做 Unicode 字元複製。

Note注意事項

這個方法會使用 SecurityAction.LinkDemand 以防止從不受信任的程式碼進行呼叫,而且只有立即呼叫端需要擁有 SecurityPermissionAttribute.UnmanagedCode 使用權限。如果您的程式碼可以從部分信任的程式碼呼叫,請不要未經驗證就將使用者輸入傳遞到 Marshal 類別方法。如需使用 LinkDemand 成員的重要限制,請參閱 Demand 和 LinkDemand 的比較

Windows 98、 Windows 2000 SP4、 Windows Millennium Edition、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition

.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。

.NET Framework

支援版本:2.0、1.1、1.0
顯示: