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

marshal

別表記:マーシャル

「marshal」とは・「marshal」の意味

「marshal」は、英語で「組織・指揮・整理する」という意味を持つ動詞であり、また、「司令官・元帥・警察官」などの役職を指す名詞でもある。動詞としては、人や物を整理・組織化する際に使用される。名詞としては、軍隊や警察組織の高官を指すことが多い。

「marshal」の発音・読み方

「marshal」の発音は、IPA表記で/mάɚʃəl/であり、日本語での読み方は「マーシャル」となる。発音に注意する点として、「sh」の部分は「シ」と発音されることが一般的である。

「marshal」の語源・由来

「marshal」の語源は、古フランス語の「mareschal」であり、それがさらに古高ドイツ語の「marah(馬)」と「scalc(使用人)」に由来する。つまり、「馬の世話をする人」を意味する言葉が、時代と共に「軍隊の指揮官」や「警察官」などの役職を指す言葉へと変化していった。

「marshal」を含む英熟語・英語表現

「marshal」を含む英熟語や英語表現には、「marshal one's thoughts」(考えを整理する)や「marshal resources」(資源を組織化する)などがある。これらの表現では、「marshal」が「整理・組織化する」という意味で使われている。

「marshal」に関連する用語の解説

「fire marshal」とは

「fire marshal」は、消防監督官を意味する英語表現である。彼らは、火災の予防や消火活動の指揮、火災に関する法律の執行などを担当する。

「Marshall」とは

「Marshall」は、英語圏の人名であり、苗字としても名前としても使用される。読み方は「マーシャル」となる。

「marshal(HDDのブランド名)」とは

「marshal」は、日本の企業が展開するHDD(ハードディスクドライブ)のブランド名である。同ブランドの製品は、高い信頼性と品質が評価されている。

「marshal(腕時計のブランド名)」とは

「marshal」は、腕時計のブランド名であり、スマートウォッチや一般的な腕時計が展開されている。デザインや機能性に優れた製品が多く、様々なシーンで合わせやすいとされている。

「marshal」の使い方・例文

1. The general marshaled his troops for battle.(将軍は戦いのために兵士たちを整列させた。)
2. She marshaled her arguments before the debate.(彼女は討論の前に自分の主張を整理した。)
3. The fire marshal inspected the building for safety.(消防監督官は建物の安全性を検査した。)
4. Marshal your resources to achieve your goals.(目標を達成するために資源を組織化しなさい。)
5. The parade was led by the grand marshal.(パレードはグランドマーシャルが先頭を切った。)
6. The marshal arrested the suspect.(マーシャルは容疑者を逮捕した。)
7. The marshal's office is responsible for enforcing fire safety regulations.(マーシャルの事務所は火災安全規則の執行を担当している。)
8. The marshal brand hard drive has a high reputation for its reliability.(マーシャルブランドのハードドライブは信頼性が高いと評価されている。)
9. The marshal brand watch is suitable for various occasions.(マーシャルブランドの腕時計は様々な場面に適している。)
10. He marshaled the evidence to support his claim.(彼は自分の主張を支持する証拠を整理した。)

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

マーシャル

英語 marshal

レースの進行をつかさどる競技役員。競技長のもとに各種の担当がおかれ、フォーメーションラップの先導を行うマーシャルカーのトライバーもこれに含まれる。

マーシャル

※「大車林」の内容は、発行日である2004年時点の情報となっております。

カルボスルファン

分子式:C20H32N2O3S
その他の名称:N-(Dibutylaminothio)-N-methylcarbamic acid 2,3-dihydro-2,2-dimethylbenzofuran-7-yl、カルボスルファン、ポッセ、アドバンテージ、マーシャル、DBSC、FMC-35001、Marshal、Advantage、Carbosulfan、Posse、N-(N,N-Dibutylaminothio)-N-methylcarbamic acid 2,3-dihydro-2,2-dimethylbenzofuran-7-yl ester、N-(Dibutylaminothio)-N-methylcarbamic acid 2,3-dihydro-2,2-dimethylbenzofuran-7-yl ester、ガゼット、N-ジブチルアミノチオ-N-メチルカルバミン酸2,3-ジヒドロ-2,2-ジメチル-7-ベンゾ[b]フラニル
体系名:N-(N,N-ジブチルアミノチオ)-N-メチルカルバミド酸2,3-ジヒドロ-2,2-ジメチルベンゾフラン-7-イル、N-(ジブチルアミノチオ)-N-メチルカルバミド酸2,3-ジヒドロ-2,2-ジメチルベンゾフラン-7-イル


Marshal


marshal

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/27 14:50 UTC 版)

「マーシャル」の記事における「marshal」の解説

語源はmarshallと同じ。

※この「marshal」の解説は、「マーシャル」の解説の一部です。
「marshal」を含む「マーシャル」の記事については、「マーシャル」の概要を参照ください。

ウィキペディア小見出し辞書の「marshal」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。


英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「marshal」の関連用語

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

   

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



marshalのページの著作権

   
実用日本語表現辞典実用日本語表現辞典
Copyright © 2026実用日本語表現辞典 All Rights Reserved.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
三栄書房三栄書房
Copyright c San-eishobo Publishing Co.,Ltd.All Rights Reserved.
独立行政法人科学技術振興機構独立行政法人科学技術振興機構
All Rights Reserved, Copyright © Japan Science and Technology Agency
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのマーシャル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS