Marshal.DestroyStructure メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Marshal.DestroyStructure メソッドの意味・解説 

Marshal.DestroyStructure メソッド

指定したアンマネージ メモリ ブロックが指す、すべてのサブ構造体を解放します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Shared Sub DestroyStructure
 ( _
    ptr As IntPtr, _
    structuretype As Type _
)
Dim ptr As IntPtr
Dim structuretype As Type

Marshal.DestroyStructure(ptr, structuretype)
[ComVisibleAttribute(true)] 
public static void DestroyStructure
 (
    IntPtr ptr,
    Type structuretype
)
[ComVisibleAttribute(true)] 
public:
static void DestroyStructure (
    IntPtr ptr, 
    Type^ structuretype
)
/** @attribute ComVisibleAttribute(true) */ 
public static void DestroyStructure
 (
    IntPtr ptr, 
    Type structuretype
)
ComVisibleAttribute(true) 
public static function DestroyStructure
 (
    ptr : IntPtr, 
    structuretype : Type
)

パラメータ

ptr

アンマネージ メモリ ブロックへのポインタ。

structuretype

書式指定クラスの型。これは、ptr パラメータ内のバッファを削除するために必要なレイアウト情報を提供します。

例外例外
解説解説

このメソッドを使用すると、アンマネージ構造体の参照型フィールド (文字列など) を解放できます。フィールドとは異なり、構造体自体は値型または参照型にできます。値型のフィールド (すべて blittable) で構成される値型の構造体には、メモリ解放の対象となる参照がありません。StructureToPtr はこのメソッドを使用して、構造体が占有しているメモリを再利用するときにメモリ リークを防ぎます。

DestroyStructure は SysFreeString COM API メソッドを呼び出し、この COM API メソッドは割り当てられた文字列を解放します。SysFreeString の詳細については、MSDN ライブラリを参照してください。

Marshal クラスには、メモリ割り当て解除のメソッドとして、DestroyStructure のほか、Marshal.FreeCoTaskMem と Marshal.FreeHGlobal が用意されています。

メモメモ

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

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Marshal クラス
Marshal メンバ
System.Runtime.InteropServices 名前空間
FreeCoTaskMem
FreeHGlobal



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Marshal.DestroyStructure メソッド」の関連用語

Marshal.DestroyStructure メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Marshal.DestroyStructure メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS