Marshalとは? わかりやすく解説

Marshal クラス

アンマネージ コードを扱うときに使用できるさまざまなメソッド提供します。これらのメソッド使用すると、アンマネージ メモリ割り当て、アンマネージ メモリ ブロックコピーマネージ型からアンマネージ型への変換などができます

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

解説解説
使用例使用例

Marshal クラス定義されさまざまなメソッド使用方法次のコード例示します

using System;
using System.Text;
using System.Runtime.InteropServices;

public struct Point
{
    public Int32 x, y;
}


public sealed class App
{
    static void Main()
    {
        // Demonstrate the use of public static fields of the Marshal
 class.
        Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}"
,
            Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize);

        // Demonstrate the use of the SizeOf method of the Marshal class.
        Console.WriteLine("Number of bytes needed by a Point object: {0}"
,
 
            Marshal.SizeOf(typeof(Point)));
        Point p = new Point();
        Console.WriteLine("Number of bytes needed by a Point object: {0}"
,
            Marshal.SizeOf(p));
        
        // Demonstrate how to call GlobalAlloc and 
        // GlobalFree using the Marshal class.
        IntPtr hglobal = Marshal.AllocHGlobal(100);
        Marshal.FreeHGlobal(hglobal);

        // Demonstrate how to use the Marshal class to get the Win32
 error 
        // code when a Win32 method fails.
        Boolean f = CloseHandle(new IntPtr(-1));
        if (!f)
        {
            Console.WriteLine("CloseHandle call failed with an error code of:
 {0}", 
                Marshal.GetLastWin32Error());
        }  
    }

    // This is a platform invoke prototype. SetLastError is true, which
 allows 
    // the GetLastWin32Error method of the Marshal class to work correctly.
    
    [DllImport("Kernel32", ExactSpelling = true, SetLastError
 = true)]
    static extern Boolean CloseHandle(IntPtr h);
    
}

// This code produces the following output.
// 
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// Number of bytes needed by a Point object: 8
// Number of bytes needed by a Point object: 8
// CloseHandle call failed with an error code of: 6
using namespace System;
using namespace System::Runtime::InteropServices;

public value struct Point
{
public:
    property int X;
    property int Y;
};
extern bool CloseHandle(IntPtr h);

int main()
{
    // Demonstrate the use of public static fields of the Marshal
    // class.
    Console::WriteLine(
        "SystemDefaultCharSize={0},SystemMaxDBCSCharSize={1}",
        Marshal::SystemDefaultCharSize,
        Marshal::SystemMaxDBCSCharSize);

    // Demonstrate the use of the SizeOf method of the Marshal
    // class.
    Console::WriteLine("Number of bytes needed by a Point object: {0}"
,
        Marshal::SizeOf(Point::typeid));
    Point point;
    Console::WriteLine("Number of bytes needed by a Point object: {0}"
,
        Marshal::SizeOf(point));

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

    // Demonstrate how to use the Marshal class to get the Win32
    // error code when a Win32 method fails.
    bool isCloseHandleSuccess = CloseHandle(IntPtr(-1));
    if (!isCloseHandleSuccess)
    {
        Console::WriteLine(
            "CloseHandle call failed with an error code of: {0}",
            Marshal::GetLastWin32Error());
    }
};

// This is a platform invoke prototype. SetLastError is true,
// which allows the GetLastWin32Error method of the Marshal class
// to work correctly.    
[DllImport("Kernel32", ExactSpelling = true, SetLastError
 = true)]
extern bool CloseHandle(IntPtr h);

// This code produces the following output.
// 
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// Number of bytes needed by a Point object: 8
// Number of bytes needed by a Point object: 8
// CloseHandle call failed with an error code of: 6
継承階層継承階層
System.Object
  System.Runtime.InteropServices.Marshal
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Marshal メンバ
System.Runtime.InteropServices 名前空間

Marshal フィールド


Marshal メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド AddRef 指定したインターフェイス参照カウントインクリメントます。
パブリック メソッド AllocCoTaskMem COM タスク メモリ アロケータから、指定したサイズメモリ ブロック割り当てます
パブリック メソッド AllocHGlobal オーバーロードされますLocalAlloc使用してメモリ ブロック割り当てます
パブリック メソッド BindToMoniker 指定したモニカによって識別されるインターフェイス ポインタ取得します
パブリック メソッド ChangeWrapperHandleStrength 格納しているオブジェクトCOM 呼び出し可能ラッパー (CCW: COM callable wrapper) のハンドル強さ変更します
パブリック メソッド Copy オーバーロードされますマネージ配列からアンマネージ メモリ ポインタ、またはアンマネージ メモリ ポインタからマネージ配列データコピーします
パブリック メソッド CreateAggregatedObject 指定した COM オブジェクト使用してマネージ オブジェクト集約します。
パブリック メソッド CreateWrapperOfType 指定した型のオブジェクト内の指定した COM オブジェクトラップます。
パブリック メソッド DestroyStructure 指定したアンマネージ メモリ ブロックが指す、すべてのサブ構造体解放します。
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド FinalReleaseComObject 提供されランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) の参照カウントを 0 に設定することによって、RCW へのすべての参照解放します。
パブリック メソッド FreeBSTR SysFreeString使用して BSTR を解放します。
パブリック メソッド FreeCoTaskMem Marshal.AllocCoTaskMem を使用して、アンマネージ COM タスク メモリ アロケータが割り当てたメモリ ブロック解放します。
パブリック メソッド FreeHGlobal 以前に AllocHGlobal を使用してプロセスのアンマネージ メモリから割り当てられメモリ解放します。
パブリック メソッド GenerateGuidForType 指定した型のグローバル一意識別子 (GUID: Globally Unique Identifier) を返すか、タイプ ライブラリ エクスポータ (Tlbexp.exe) で使用されるアルゴリズム使用して GUID生成します
パブリック メソッド GenerateProgIdForType 指定した型のプログラム ID (ProgID) を返します
パブリック メソッド GetActiveObject ランニング オブジェクト テーブルから指定したオブジェクト実行中のインスタンス取得します
パブリック メソッド GetComInterfaceForObject オブジェクト指定したインターフェイスを表すインターフェイス ポインタ返します
パブリック メソッド GetComInterfaceForObjectInContext 呼び出し元がオブジェクトと同じコンテキスト存在する場合に、そのオブジェクト指定したインターフェイスを表すインターフェイス ポインタ返します
パブリック メソッド GetComObjectData 指定した COM オブジェクトから、指定したキー参照するデータ取得します
パブリック メソッド GetComSlotForMethodInfo COM への公開時に、指定した System.Reflection.MemberInfo の仮想関数テーブル (VTBL: Virtual Function Table) スロット取得します
パブリック メソッド GetDelegateForFunctionPointer アンマネージ関数ポインタデリゲート変換します
パブリック メソッド GetEndComSlot COM への公開時に、型の仮想関数テーブル (VTBL) 内の最終スロット取得します
パブリック メソッド GetExceptionCode 発生した例外の型を識別するコード取得します
パブリック メソッド GetExceptionForHR オーバーロードされます。 HRESULT エラー コード対応する Exception オブジェクト変換します
パブリック メソッド GetExceptionPointers 例外発生時にコンピュータ依存しない例外記述、およびスレッドに対して存在した状態に関する情報取得します
パブリック メソッド GetFunctionPointerForDelegate デサンクへのポインタ可能な関数ポインタ変換します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetHINSTANCE 指定したモジュールインスタンス ハンドル (HINSTANCE) を返します
パブリック メソッド GetHRForException 指定した例外を HRESULT に変換します
パブリック メソッド GetHRForLastWin32Error Marshal を使用して実行した Win32 コード原因最終エラー対応する HRESULT返します
パブリック メソッド GetIDispatchForObject マネージ オブジェクトから IDispatch インターフェイス返します
パブリック メソッド GetIDispatchForObjectInContext 呼び出し元がマネージ オブジェクトと同じコンテキスト存在する場合に、そのマネージ オブジェクトから IDispatch インターフェイス ポインタ返します
パブリック メソッド GetITypeInfoForType マネージ型から ITypeInfo インターフェイス返します
パブリック メソッド GetIUnknownForObject マネージ オブジェクトから IUnknown インターフェイス返します
パブリック メソッド GetIUnknownForObjectInContext 呼び出し元がマネージ オブジェクトと同じコンテキスト存在しない場合に、そのマネージ オブジェクトから IUnknown インターフェイス返します
パブリック メソッド GetLastWin32Error DllImportAttribute.SetLastError フラグ設定したプラットフォーム呼び出し使用して呼び出した最終アンマネージ関数によって返されるエラー コード返します
パブリック メソッド GetManagedThunkForUnmanagedMethodPtr マネージ コードからアンマネージ コード呼び出しマーシャリングするサンクへのポインタ取得します
パブリック メソッド GetMethodInfoForComSlot 指定した仮想関数テーブル (VTBL) スロットの MethodInfo を取得します
パブリック メソッド GetNativeVariantForObject オブジェクトCOM VARIANT変換します
パブリック メソッド GetObjectForIUnknown COM オブジェクトIUnknown インターフェイスへのポインタによって表す型のインスタンス返します
パブリック メソッド GetObjectForNativeVariant COM VARIANTオブジェクト変換します
パブリック メソッド GetObjectsForNativeVariants COM VARIANT配列オブジェクト配列変換します
パブリック メソッド GetStartComSlot ユーザー定義のメソッド格納している、仮想関数テーブル (VTBL) の最初スロット取得します
パブリック メソッド GetThreadFromFiberCookie ファイバ cookie対応する System.Threading.Thread インスタンス変換します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド GetTypedObjectForIUnknown COM オブジェクトを表す、指定した型のマネージ オブジェクト返します
パブリック メソッド GetTypeForITypeInfo ITypeInfoマネージ Type オブジェクト変換します
パブリック メソッド GetTypeInfoName オーバーロードされますITypeInfo表される型の名前を取得します
パブリック メソッド GetTypeLibGuid オーバーロードされますタイプ ライブラリライブラリ ID (LIBID) を取得します
パブリック メソッド GetTypeLibGuidForAssembly 指定したアセンブリからエクスポートされるときにタイプ ライブラリ割り当てられるライブラリ ID (LIBID) を取得します
パブリック メソッド GetTypeLibLcid オーバーロードされますタイプ ライブラリの LCID を取得します
パブリック メソッド GetTypeLibName オーバーロードされますタイプ ライブラリの名前を取得します
パブリック メソッド GetTypeLibVersionForAssembly 指定したアセンブリからエクスポートされるタイプ ライブラリバージョン番号取得します
パブリック メソッド GetUniqueObjectForIUnknown 指定した IUnknown一意ランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) オブジェクト作成します
パブリック メソッド GetUnmanagedThunkForManagedMethodPtr アンマネージ コードからマネージ コード呼び出しマーシャリングするサンクへのポインタ取得します
パブリック メソッド IsComObject 指定したオブジェクトCOM オブジェクトを表すかどうか示します
パブリック メソッド IsTypeVisibleFromCom 型が COM クライアント表示されるかどうか示します
パブリック メソッド NumParamBytes 指定したメソッドパラメータ保持するために必要なアンマネージ メモリ内のバイト数を計算します
パブリック メソッド OffsetOf マネージ クラスのアンマネージ フォームフィールド オフセット返します
パブリック メソッド Prelink メソッド呼び出さずに、一度だけ実行されるメソッド セットアップ タスク実行します
パブリック メソッド PrelinkAll クラスすべてのメソッドに対してリンク前の確認実行します
パブリック メソッド PtrToStringAnsi オーバーロードされますマネージ String割り当て、アンマネージ ANSI 文字列のすべてまたは一部コピーします
パブリック メソッド PtrToStringAuto オーバーロードされますマネージ String割り当て、アンマネージ文字列から指定された数の文字コピーします
パブリック メソッド PtrToStringBSTR マネージ String割り当て、アンマネージ メモリ格納されている BSTR 文字列コピーします
パブリック メソッド PtrToStringUni オーバーロードされますマネージ String割り当て、アンマネージ Unicode 文字列から指定された数の文字コピーします
パブリック メソッド PtrToStructure オーバーロードされます。 アンマネージ メモリ ブロックかマネージ オブジェクトデータマーシャリングます。
パブリック メソッド QueryInterface COM オブジェクトから指定したインターフェイスへのポインタ要求します
パブリック メソッド ReadByte オーバーロードされます。 アンマネージ ポインタから 1 バイト読み取ります。
パブリック メソッド ReadInt16 オーバーロードされます。 アンマネージ メモリから 16 ビット符号付き整数読み取ります。
パブリック メソッド ReadInt32 オーバーロードされます。 アンマネージ メモリから 32 ビット符号付き整数読み取ります。
パブリック メソッド ReadInt64 オーバーロードされます。 アンマネージ メモリから 64 ビット符号付き整数読み取ります。
パブリック メソッド ReadIntPtr オーバーロードされます。 アンマネージ メモリからプロセッサ ネイティブ サイズ整数読み取ります。
パブリック メソッド ReAllocCoTaskMem 以前AllocCoTaskMem使用して割り当てられメモリ ブロックサイズ変更します
パブリック メソッド ReAllocHGlobal 以前AllocHGlobal使用して割り当てられメモリ ブロックサイズ変更します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Release 指定したインターフェイス参照カウントデクリメントます。
パブリック メソッド ReleaseComObject 提供されランタイム呼び出し可能ラッパー参照カウントデクリメントます。
パブリック メソッド ReleaseThreadCache スレッドキャッシュ解放します。
パブリック メソッド SecureStringToBSTR BSTR を割り当て、その BSTR にマネージ SecureString オブジェクト内容コピーします
パブリック メソッド SecureStringToCoTaskMemAnsi アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ SecureString オブジェクト内容コピーします
パブリック メソッド SecureStringToCoTaskMemUnicode アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ SecureString オブジェクト内容コピーします
パブリック メソッド SecureStringToGlobalAllocAnsi マネージ SecureString内容をアンマネージ メモリコピーしコピー時に ANSI 形式変換します
パブリック メソッド SecureStringToGlobalAllocUnicode マネージ SecureString内容をアンマネージ メモリコピーします
パブリック メソッド SetComObjectData 指定した COM オブジェクトに、指定したキー参照するデータ設定します
パブリック メソッド SizeOf オーバーロードされますMarshal使用してクラスのアンマネージ サイズバイト単位返します
パブリック メソッド StringToBSTR BSTR を割り当て、それにマネージ String内容コピーします
パブリック メソッド StringToCoTaskMemAnsi アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ String内容コピーします
パブリック メソッド StringToCoTaskMemAuto アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ String内容コピーします
パブリック メソッド StringToCoTaskMemUni アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ String内容コピーします
パブリック メソッド StringToHGlobalAnsi マネージ String内容をアンマネージ メモリコピーしコピー時に ANSI 形式変換します
パブリック メソッド StringToHGlobalAuto マネージ String内容をアンマネージ メモリコピーし必要に応じて ANSI 形式変換します
パブリック メソッド StringToHGlobalUni マネージ String内容をアンマネージ メモリコピーします
パブリック メソッド StructureToPtr マネージ オブジェクトからアンマネージ メモリ ブロックデータマーシャリングます。
パブリック メソッド ThrowExceptionForHR オーバーロードされます特定の失敗 HRESULT 値を使用して例外スローます。
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
パブリック メソッド UnsafeAddrOfPinnedArrayElement 指定した配列内の指定したインデックス位置にある要素アドレス取得します
パブリック メソッド WriteByte オーバーロードされます1 バイト値をアンマネージ メモリ書き込みます
パブリック メソッド WriteInt16 オーバーロードされます。 アンマネージ メモリ16 ビット符号付き整数書き込みます
パブリック メソッド WriteInt32 オーバーロードされます。 アンマネージ メモリ32 ビット符号付き整数書き込みます
パブリック メソッド WriteInt64 オーバーロードされます。 アンマネージ メモリ64 ビット符号付き整数書き込みます
パブリック メソッド WriteIntPtr オーバーロードされます。 アンマネージ メモリプロセッサ ネイティブ サイズ整数書き込みます
パブリック メソッド ZeroFreeBSTR SecureStringToBSTR メソッド使用して割り当てられた BSTR ポインタ解放します。
パブリック メソッド ZeroFreeCoTaskMemAnsi SecureStringToCoTaskMemAnsi メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
パブリック メソッド ZeroFreeCoTaskMemUnicode SecureStringToCoTaskMemUnicode メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
パブリック メソッド ZeroFreeGlobalAllocAnsi SecureStringToGlobalAllocAnsi メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
パブリック メソッド ZeroFreeGlobalAllocUnicode SecureStringToCoTaskMemUnicode メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
参照参照

関連項目

Marshal クラス
System.Runtime.InteropServices 名前空間

Marshal メンバ

アンマネージ コードを扱うときに使用できるさまざまなメソッド提供します。これらのメソッド使用すると、アンマネージ メモリ割り当て、アンマネージ メモリ ブロックコピーマネージ型からアンマネージ型への変換などができます

Marshal データ型公開されるメンバを以下の表に示します


パブリック フィールドパブリック フィールド
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド AddRef 指定したインターフェイス参照カウントインクリメントます。
パブリック メソッド AllocCoTaskMem COM タスク メモリ アロケータから、指定したサイズメモリ ブロック割り当てます
パブリック メソッド AllocHGlobal オーバーロードされますLocalAlloc使用してメモリ ブロック割り当てます
パブリック メソッド BindToMoniker 指定したモニカによって識別されるインターフェイス ポインタ取得します
パブリック メソッド ChangeWrapperHandleStrength 格納しているオブジェクトCOM 呼び出し可能ラッパー (CCW: COM callable wrapper) のハンドル強さ変更します
パブリック メソッド Copy オーバーロードされますマネージ配列からアンマネージ メモリ ポインタ、またはアンマネージ メモリ ポインタからマネージ配列データコピーします
パブリック メソッド CreateAggregatedObject 指定した COM オブジェクト使用してマネージ オブジェクト集約します。
パブリック メソッド CreateWrapperOfType 指定した型のオブジェクト内の指定した COM オブジェクトラップます。
パブリック メソッド DestroyStructure 指定したアンマネージ メモリ ブロックが指す、すべてのサブ構造体解放します。
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド FinalReleaseComObject 提供されランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) の参照カウントを 0 に設定することによって、RCW へのすべての参照解放します。
パブリック メソッド FreeBSTR SysFreeString使用して BSTR を解放します。
パブリック メソッド FreeCoTaskMem Marshal.AllocCoTaskMem を使用して、アンマネージ COM タスク メモリ アロケータが割り当てたメモリ ブロック解放します。
パブリック メソッド FreeHGlobal 以前に AllocHGlobal を使用してプロセスのアンマネージ メモリから割り当てられメモリ解放します。
パブリック メソッド GenerateGuidForType 指定した型のグローバル一意識別子 (GUID: Globally Unique Identifier) を返すか、タイプ ライブラリ エクスポータ (Tlbexp.exe) で使用されるアルゴリズム使用して GUID生成します
パブリック メソッド GenerateProgIdForType 指定した型のプログラム ID (ProgID) を返します
パブリック メソッド GetActiveObject ランニング オブジェクト テーブルから指定したオブジェクト実行中のインスタンス取得します
パブリック メソッド GetComInterfaceForObject オブジェクト指定したインターフェイスを表すインターフェイス ポインタ返します
パブリック メソッド GetComInterfaceForObjectInContext 呼び出し元がオブジェクトと同じコンテキスト存在する場合に、そのオブジェクト指定したインターフェイスを表すインターフェイス ポインタ返します
パブリック メソッド GetComObjectData 指定した COM オブジェクトから、指定したキー参照するデータ取得します
パブリック メソッド GetComSlotForMethodInfo COM への公開時に、指定した System.Reflection.MemberInfo の仮想関数テーブル (VTBL: Virtual Function Table) スロット取得します
パブリック メソッド GetDelegateForFunctionPointer アンマネージ関数ポインタデリゲート変換します
パブリック メソッド GetEndComSlot COM への公開時に、型の仮想関数テーブル (VTBL) 内の最終スロット取得します
パブリック メソッド GetExceptionCode 発生した例外の型を識別するコード取得します
パブリック メソッド GetExceptionForHR オーバーロードされます。 HRESULT エラー コード対応する Exception オブジェクト変換します
パブリック メソッド GetExceptionPointers 例外発生時にコンピュータ依存しない例外記述、およびスレッドに対して存在した状態に関する情報取得します
パブリック メソッド GetFunctionPointerForDelegate デサンクへのポインタ可能な関数ポインタ変換します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetHINSTANCE 指定したモジュールインスタンス ハンドル (HINSTANCE) を返します
パブリック メソッド GetHRForException 指定した例外を HRESULT に変換します
パブリック メソッド GetHRForLastWin32Error Marshal を使用して実行した Win32 コード原因最終エラー対応する HRESULT返します
パブリック メソッド GetIDispatchForObject マネージ オブジェクトから IDispatch インターフェイス返します
パブリック メソッド GetIDispatchForObjectInContext 呼び出し元がマネージ オブジェクトと同じコンテキスト存在する場合に、そのマネージ オブジェクトから IDispatch インターフェイス ポインタ返します
パブリック メソッド GetITypeInfoForType マネージ型から ITypeInfo インターフェイス返します
パブリック メソッド GetIUnknownForObject マネージ オブジェクトから IUnknown インターフェイス返します
パブリック メソッド GetIUnknownForObjectInContext 呼び出し元がマネージ オブジェクトと同じコンテキスト存在しない場合に、そのマネージ オブジェクトから IUnknown インターフェイス返します
パブリック メソッド GetLastWin32Error DllImportAttribute.SetLastError フラグ設定したプラットフォーム呼び出し使用して呼び出した最終アンマネージ関数によって返されるエラー コード返します
パブリック メソッド GetManagedThunkForUnmanagedMethodPtr マネージ コードからアンマネージ コード呼び出しマーシャリングするサンクへのポインタ取得します
パブリック メソッド GetMethodInfoForComSlot 指定した仮想関数テーブル (VTBL) スロットの MethodInfo を取得します
パブリック メソッド GetNativeVariantForObject オブジェクトCOM VARIANT変換します
パブリック メソッド GetObjectForIUnknown COM オブジェクトIUnknown インターフェイスへのポインタによって表す型のインスタンス返します
パブリック メソッド GetObjectForNativeVariant COM VARIANTオブジェクト変換します
パブリック メソッド GetObjectsForNativeVariants COM VARIANT配列オブジェクト配列変換します
パブリック メソッド GetStartComSlot ユーザー定義のメソッド格納している、仮想関数テーブル (VTBL) の最初スロット取得します
パブリック メソッド GetThreadFromFiberCookie ファイバ cookie対応する System.Threading.Thread インスタンス変換します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド GetTypedObjectForIUnknown COM オブジェクトを表す、指定した型のマネージ オブジェクト返します
パブリック メソッド GetTypeForITypeInfo ITypeInfoマネージ Type オブジェクト変換します
パブリック メソッド GetTypeInfoName オーバーロードされますITypeInfo表される型の名前を取得します
パブリック メソッド GetTypeLibGuid オーバーロードされますタイプ ライブラリライブラリ ID (LIBID) を取得します
パブリック メソッド GetTypeLibGuidForAssembly 指定したアセンブリからエクスポートされるときにタイプ ライブラリ割り当てられるライブラリ ID (LIBID) を取得します
パブリック メソッド GetTypeLibLcid オーバーロードされますタイプ ライブラリの LCID を取得します
パブリック メソッド GetTypeLibName オーバーロードされますタイプ ライブラリの名前を取得します
パブリック メソッド GetTypeLibVersionForAssembly 指定したアセンブリからエクスポートされるタイプ ライブラリバージョン番号取得します
パブリック メソッド GetUniqueObjectForIUnknown 指定した IUnknown一意ランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) オブジェクト作成します
パブリック メソッド GetUnmanagedThunkForManagedMethodPtr アンマネージ コードからマネージ コード呼び出しマーシャリングするサンクへのポインタ取得します
パブリック メソッド IsComObject 指定したオブジェクトCOM オブジェクトを表すかどうか示します
パブリック メソッド IsTypeVisibleFromCom 型が COM クライアント表示されるかどうか示します
パブリック メソッド NumParamBytes 指定したメソッドパラメータ保持するために必要なアンマネージ メモリ内のバイト数を計算します
パブリック メソッド OffsetOf マネージ クラスのアンマネージ フォームフィールド オフセット返します
パブリック メソッド Prelink メソッド呼び出さずに、一度だけ実行されるメソッド セットアップ タスク実行します
パブリック メソッド PrelinkAll クラスすべてのメソッドに対してリンク前の確認実行します
パブリック メソッド PtrToStringAnsi オーバーロードされますマネージ String割り当て、アンマネージ ANSI 文字列のすべてまたは一部コピーします
パブリック メソッド PtrToStringAuto オーバーロードされますマネージ String割り当て、アンマネージ文字列から指定された数の文字コピーします
パブリック メソッド PtrToStringBSTR マネージ String割り当て、アンマネージ メモリ格納されている BSTR 文字列コピーします
パブリック メソッド PtrToStringUni オーバーロードされますマネージ String割り当て、アンマネージ Unicode 文字列から指定された数の文字コピーします
パブリック メソッド PtrToStructure オーバーロードされます。 アンマネージ メモリ ブロックかマネージ オブジェクトデータマーシャリングます。
パブリック メソッド QueryInterface COM オブジェクトから指定したインターフェイスへのポインタ要求します
パブリック メソッド ReadByte オーバーロードされます。 アンマネージ ポインタから 1 バイト読み取ります。
パブリック メソッド ReadInt16 オーバーロードされます。 アンマネージ メモリから 16 ビット符号付き整数読み取ります。
パブリック メソッド ReadInt32 オーバーロードされます。 アンマネージ メモリから 32 ビット符号付き整数読み取ります。
パブリック メソッド ReadInt64 オーバーロードされます。 アンマネージ メモリから 64 ビット符号付き整数読み取ります。
パブリック メソッド ReadIntPtr オーバーロードされます。 アンマネージ メモリからプロセッサ ネイティブ サイズ整数読み取ります。
パブリック メソッド ReAllocCoTaskMem 以前AllocCoTaskMem使用して割り当てられメモリ ブロックサイズ変更します
パブリック メソッド ReAllocHGlobal 以前AllocHGlobal使用して割り当てられメモリ ブロックサイズ変更します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Release 指定したインターフェイス参照カウントデクリメントます。
パブリック メソッド ReleaseComObject 提供されランタイム呼び出し可能ラッパー参照カウントデクリメントます。
パブリック メソッド ReleaseThreadCache スレッドキャッシュ解放します。
パブリック メソッド SecureStringToBSTR BSTR を割り当て、その BSTR にマネージ SecureString オブジェクト内容コピーします
パブリック メソッド SecureStringToCoTaskMemAnsi アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ SecureString オブジェクト内容コピーします
パブリック メソッド SecureStringToCoTaskMemUnicode アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ SecureString オブジェクト内容コピーします
パブリック メソッド SecureStringToGlobalAllocAnsi マネージ SecureString内容をアンマネージ メモリコピーしコピー時に ANSI 形式変換します
パブリック メソッド SecureStringToGlobalAllocUnicode マネージ SecureString内容をアンマネージ メモリコピーします
パブリック メソッド SetComObjectData 指定した COM オブジェクトに、指定したキー参照するデータ設定します
パブリック メソッド SizeOf オーバーロードされますMarshal使用してクラスのアンマネージ サイズバイト単位返します
パブリック メソッド StringToBSTR BSTR を割り当て、それにマネージ String内容コピーします
パブリック メソッド StringToCoTaskMemAnsi アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ String内容コピーします
パブリック メソッド StringToCoTaskMemAuto アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ String内容コピーします
パブリック メソッド StringToCoTaskMemUni アンマネージ COM タスク アロケータから割り当てられメモリ ブロックに、マネージ String内容コピーします
パブリック メソッド StringToHGlobalAnsi マネージ String内容をアンマネージ メモリコピーしコピー時に ANSI 形式変換します
パブリック メソッド StringToHGlobalAuto マネージ String内容をアンマネージ メモリコピーし必要に応じて ANSI 形式変換します
パブリック メソッド StringToHGlobalUni マネージ String内容をアンマネージ メモリコピーします
パブリック メソッド StructureToPtr マネージ オブジェクトからアンマネージ メモリ ブロックデータマーシャリングます。
パブリック メソッド ThrowExceptionForHR オーバーロードされます特定の失敗 HRESULT 値を使用して例外スローます。
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
パブリック メソッド UnsafeAddrOfPinnedArrayElement 指定した配列内の指定したインデックス位置にある要素アドレス取得します
パブリック メソッド WriteByte オーバーロードされます1 バイト値をアンマネージ メモリ書き込みます
パブリック メソッド WriteInt16 オーバーロードされます。 アンマネージ メモリ16 ビット符号付き整数書き込みます
パブリック メソッド WriteInt32 オーバーロードされます。 アンマネージ メモリ32 ビット符号付き整数書き込みます
パブリック メソッド WriteInt64 オーバーロードされます。 アンマネージ メモリ64 ビット符号付き整数書き込みます
パブリック メソッド WriteIntPtr オーバーロードされます。 アンマネージ メモリプロセッサ ネイティブ サイズ整数書き込みます
パブリック メソッド ZeroFreeBSTR SecureStringToBSTR メソッド使用して割り当てられた BSTR ポインタ解放します。
パブリック メソッド ZeroFreeCoTaskMemAnsi SecureStringToCoTaskMemAnsi メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
パブリック メソッド ZeroFreeCoTaskMemUnicode SecureStringToCoTaskMemUnicode メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
パブリック メソッド ZeroFreeGlobalAllocAnsi SecureStringToGlobalAllocAnsi メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
パブリック メソッド ZeroFreeGlobalAllocUnicode SecureStringToCoTaskMemUnicode メソッド使用して割り当てられたアンマネージ文字列ポインタ解放します。
参照参照

関連項目

Marshal クラス
System.Runtime.InteropServices 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からMarshalを検索した結果を表示しています。
Weblioに収録されているすべての辞書からMarshalを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からMarshalを検索

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

辞書ショートカット

すべての辞書の索引

「Marshal」の関連用語

Marshalのお隣キーワード
検索ランキング

   

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



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

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

©2024 GRAS Group, Inc.RSS