このドキュメントはアーカイブされており、メンテナンスされていません。

Marshal.StringToCoTaskMemAuto メソッド

アンマネージ COM タスク アロケータから割り当てられたメモリ ブロックに、マネージ String の内容をコピーします。

名前空間: 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

コピーされるマネージ文字列。

戻り値

割り当てられたメモリ ブロック。null 文字列が提供された場合は 0。

例外の種類条件

OutOfMemoryException

使用できるメモリが不足しています。

StringToCoTaskMemAuto は、カスタム マーシャリングを実行するとき、またはマネージ コードとアンマネージ コードを混在させるときに使用します。このメソッドは文字列で必要とされるアンマネージ メモリを割り当てるため、必ず FreeCoTaskMem を呼び出すことによってメモリを解放してください。このメソッドは、Marshal.PtrToStringAuto と反対の機能を提供します。

文字列の文字は、コードを実行するオペレーティング システムによって、ANSI 文字または Unicode 文字のいずれかとしてコピーされます。Windows 98 では、文字は ANSI 文字としてコピーされます。Windows NT 4.0、Windows 2000、Windows XP、および Windows Server 2003 ファミリでは、文字は Unicode 文字としてコピーされます。

メモメモ

このメソッドは SecurityAction.LinkDemand を使用して、信頼関係のないコードからの呼び出しを防ぎます。SecurityPermissionAttribute.UnmanagedCode アクセス許可は、直前の呼び出し元にのみ要求されます。信頼性が一部しか確認されていないコードから呼び出すことができるコードの場合、ユーザー入力を検証せずに Marshal クラスに渡すことは避けてください。LinkDemand メンバの使用に関する重要な制約事項については、「Demand と LinkDemand」を参照してください。

  • SecurityPermission  (アンマネージ コードを呼び出すために必要なアクセス許可)。 UnmanagedCode (関連する列挙体)。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
表示: