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

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

Marshal.FreeHGlobal メソッド

以前AllocHGlobal使用してプロセスのアンマネージ メモリから割り当てられメモリ解放します。

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

Public Shared Sub FreeHGlobal
 ( _
    hglobal As IntPtr _
)
Dim hglobal As IntPtr

Marshal.FreeHGlobal(hglobal)
public static void FreeHGlobal
 (
    IntPtr hglobal
)
public:
static void FreeHGlobal (
    IntPtr hglobal
)
public static void FreeHGlobal
 (
    IntPtr hglobal
)
public static function FreeHGlobal
 (
    hglobal : IntPtr
)

パラメータ

hglobal

AllocHGlobal への元の一致する呼び出しによって返されハンドル

解説解説

FreeHGlobal使用すると、AllocHGlobal、ReAllocHGlobal、またはこれらに相当するアンマネージ API メソッドによって割り当てられメモリグローバル ヒープから解放できますhglobal パラメータnull 参照 (Visual Basic では Nothing) の場合、このメソッドは何も実行しません。

FreeHGlobal は Kernel32.DLL の LocalFree 関数公開します。この関数すべてのバイト解放しhglobal パラメータが示すメモリその後使用できなくなりますLocalFree詳細については、MSDN ライブラリ参照してください

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

メモメモ

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

Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition プラットフォームメモ : FreeHGlobal無効なハンドル値を渡すと、ArgumentException が発生します

使用例使用例

FreeHGlobal メソッド呼び出すコード例次に示します。このコード例は、Marshal クラストピック取り上げているコード例一部分です。

// Demonstrate how to call GlobalAlloc and 
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal.AllocHGlobal(100);
Marshal.FreeHGlobal(hglobal);
// Demonstrate how to call GlobalAlloc and 
// GlobalFree using the Marshal class.
IntPtr hglobal = Marshal::AllocHGlobal(100);
Marshal::FreeHGlobal(hglobal);

マネージ String クラス内容をアンマネージ メモリ変換し完了時にアンマネージ メモリ破棄する方法次のコード例示します

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



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

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

   

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



Marshal.FreeHGlobal メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS