Marshal クラス

定義

アンマネージ メモリの割り当て、アンマネージ メモリ ブロックのコピー、マネージド型からアンマネージ型への変換、およびアンマネージ コードとの対話時に使用されるその他のその他のメソッドのコレクションを提供します。

public ref class Marshal abstract sealed
public ref class Marshal sealed
public static class Marshal
public sealed class Marshal
type Marshal = class
Public Class Marshal
Public NotInheritable Class Marshal
継承
Marshal

次の例は、 Marshal クラスによって定義されたさまざまなメソッドを使用する方法を示しています。

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 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
// CloseHandle call failed with an error code of: 6
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 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
// CloseHandle call failed with an error code of: 6
Imports System.Text
Imports System.Runtime.InteropServices
Imports System.Security.Permissions

Public Structure Point
    Public x, y As Int32
End Structure

Public NotInheritable Class App

    <SecurityPermission(SecurityAction.LinkDemand, Unrestricted:=True)> _
    Shared Sub Main()
        ' Demonstrate the use of public static fields of the Marshal class.
        Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}", Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize)

        ' Demonstrate how to call GlobalAlloc and
        ' GlobalFree using the Marshal class.
        Dim hglobal As IntPtr = Marshal.AllocHGlobal(100)
        Marshal.FreeHGlobal(hglobal)

        ' Demonstrate how to use the Marshal class to get the Win32 error
        ' code when a Win32 method fails.
        Dim f As [Boolean] = CloseHandle(New IntPtr(-1))
        If Not f Then
            Console.WriteLine("CloseHandle call failed with an error code of: {0}", Marshal.GetLastWin32Error())
        End If
    End Sub

    ' 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)> _
    Shared Function CloseHandle(ByVal h As IntPtr) As [Boolean]

    End Function
End Class

' This code produces the following output.
'
' SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
' CloseHandle call failed with an error code of: 6

注釈

アンマネージ コードを操作するには、static クラスで定義されているMarshal メソッドが不可欠です。 このクラスで定義されているほとんどのメソッドは、通常、マネージ プログラミング モデルとアンマネージド プログラミング モデルの間のブリッジを提供する開発者によって使用されます。 たとえば、 StringToHGlobalAnsi メソッドは、(マネージド ヒープ内の) 指定された文字列からアンマネージド ヒープ内のバッファーに ANSI 文字をコピーします。 また、適切なサイズのターゲット ヒープも割り当てられます。

共通言語ランタイムは、特定のマーシャリング機能を提供します。 マーシャリング動作の詳細については、「 相互運用マーシャリング」を参照してください。

Read クラスの Write メソッドと Marshal メソッドは、アラインアクセスとアラインされていないアクセスの両方をサポートします。

フィールド

名前 説明
SystemDefaultCharSize

システムの既定の文字サイズを表します。既定値は、Unicode システムの場合は 2、ANSI システムの場合は 1 です。 このフィールドは読み取り専用です。

SystemMaxDBCSCharSize

現在のオペレーティング システムの 2 バイト文字セット (DBCS) サイズの最大サイズをバイト単位で表します。 このフィールドは読み取り専用です。

メソッド

名前 説明
AddRef(IntPtr)

指定したインターフェイスの参照カウントをインクリメントします。

AllocCoTaskMem(Int32)

指定したサイズのメモリ ブロックを COM タスク メモリ アロケーターから割り当てます。

AllocHGlobal(Int32)

指定したバイト数を使用して、プロセスのアンマネージ メモリからメモリを割り当てます。

AllocHGlobal(IntPtr)

指定したバイト数へのポインターを使用して、プロセスのアンマネージ メモリからメモリを割り当てます。

AreComObjectsAvailableForCleanup()

任意のコンテキストからのランタイム呼び出し可能ラッパー (RCW) をクリーンアップに使用できるかどうかを示します。

BindToMoniker(String)

指定したモニカーによって識別されるインターフェイス ポインターを取得します。

ChangeWrapperHandleStrength(Object, Boolean)

オブジェクトの COM 呼び出し可能ラッパー (CCW) ハンドルの強度を変更します。

CleanupUnusedObjectsInCurrentContext()

現在のコンテキストで割り当てられているすべての ランタイム呼び出し可能ラッパー (RCW) を クリーンアップするようにランタイムに通知します。

Copy(Byte[], Int32, IntPtr, Int32)

1 次元のマネージド 8 ビット符号なし整数配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(Char[], Int32, IntPtr, Int32)

1 次元のマネージド文字配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(Double[], Int32, IntPtr, Int32)

1 次元のマネージド倍精度浮動小数点数配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(Int16[], Int32, IntPtr, Int32)

1 次元のマネージド 16 ビット符号付き整数配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(Int32[], Int32, IntPtr, Int32)

1 次元のマネージド 32 ビット符号付き整数配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(Int64[], Int32, IntPtr, Int32)

1 次元のマネージド 64 ビット符号付き整数配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(IntPtr, Byte[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド 8 ビット符号なし整数配列にデータをコピーします。

Copy(IntPtr, Char[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド文字配列にデータをコピーします。

Copy(IntPtr, Double[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド倍精度浮動小数点数配列にデータをコピーします。

Copy(IntPtr, Int16[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド 16 ビット符号付き整数配列にデータをコピーします。

Copy(IntPtr, Int32[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド 32 ビット符号付き整数配列にデータをコピーします。

Copy(IntPtr, Int64[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド 64 ビット符号付き整数配列にデータをコピーします。

Copy(IntPtr, IntPtr[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド IntPtr 配列にデータをコピーします。

Copy(IntPtr, Single[], Int32, Int32)

アンマネージ メモリ ポインターからマネージド単精度浮動小数点数配列にデータをコピーします。

Copy(IntPtr[], Int32, IntPtr, Int32)

1 次元のマネージド IntPtr 配列からアンマネージ メモリ ポインターにデータをコピーします。

Copy(Single[], Int32, IntPtr, Int32)

1 次元のマネージド単精度浮動小数点数配列からアンマネージ メモリ ポインターにデータをコピーします。

CreateAggregatedObject(IntPtr, Object)
古い.

指定した COM オブジェクトを持つマネージド オブジェクトを集計します。

CreateAggregatedObject<T>(IntPtr, T)

指定した COM オブジェクトを使用して、指定した型のマネージド オブジェクトを集計します。

CreateWrapperOfType(Object, Type)
古い.

指定した COM オブジェクトを、指定した型のオブジェクトでラップします。

CreateWrapperOfType<T,TWrapper>(T)

指定した COM オブジェクトを、指定した型のオブジェクトでラップします。

DestroyStructure(IntPtr, Type)
古い.

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

DestroyStructure<T>(IntPtr)

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

FinalReleaseComObject(Object)

参照カウントを 0 に設定して、 ランタイム呼び出し可能ラッパー (RCW) へのすべての参照を解放します。

FreeBSTR(IntPtr)

COM BSTR 関数を使用してを解放します。

FreeCoTaskMem(IntPtr)

アンマネージ COM タスク メモリ アロケーターによって割り当てられたメモリ ブロックを解放します。

FreeHGlobal(IntPtr)

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

GenerateGuidForType(Type)

指定した型のグローバル一意識別子 (GUID) を返すか、タイプ ライブラリ エクスポーター (Tlbexp.exe) で使用されるアルゴリズムを使用して GUID を生成します。

GenerateProgIdForType(Type)

指定した型のプログラム識別子 (ProgID) を返します。

GetActiveObject(String)

実行中のオブジェクト テーブル (ROT) から、指定したオブジェクトの実行中のインスタンスを取得します。

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)
古い.

指定したオブジェクトの指定したインターフェイスを表す IUnknown インターフェイスへのポインターを返します。 カスタム クエリ インターフェイスへのアクセスは、指定されたカスタマイズ モードによって制御されます。

GetComInterfaceForObject(Object, Type)
古い.

指定したオブジェクトの指定したインターフェイスを表す IUnknown インターフェイスへのポインターを返します。 カスタム クエリ インターフェイス アクセスは、既定で有効になっています。

GetComInterfaceForObject<T,TInterface>(T)

指定した型のオブジェクトの指定したインターフェイスを表す IUnknown インターフェイスへのポインターを返します。 カスタム クエリ インターフェイス アクセスは、既定で有効になっています。

GetComInterfaceForObjectInContext(Object, Type)

呼び出し元がそのオブジェクトと同じコンテキストにある場合は、オブジェクトの指定したインターフェイスを表すインターフェイス ポインターを返します。

GetComObjectData(Object, Object)

指定した COM オブジェクトから、指定したキーによって参照されるデータを取得します。

GetComSlotForMethodInfo(MemberInfo)

指定した MemberInfo 型の仮想関数テーブル (v テーブルまたは VTBL) スロットを COM に公開するときに取得します。

GetDelegateForFunctionPointer(IntPtr, Type)
古い.

アンマネージ関数ポインターをデリゲートに変換します。

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

アンマネージ関数ポインターを、指定した型のデリゲートに変換します。

GetEndComSlot(Type)

COM に公開されたときに、型の仮想関数テーブル (v テーブルまたは VTBL) の最後のスロットを取得します。

GetExceptionCode()
古い.

発生した例外の種類を識別するコードを取得します。

GetExceptionForHR(Int32, Guid, IntPtr)

アンマネージ メモリの割り当て、アンマネージ メモリ ブロックのコピー、マネージド型からアンマネージ型への変換、およびアンマネージ コードとの対話時に使用されるその他のその他のメソッドのコレクションを提供します。

GetExceptionForHR(Int32, IntPtr)

指定した HRESULT エラー コードを対応する Exception オブジェクトに変換し、例外オブジェクトの IErrorInfo インターフェイスに追加のエラー情報を渡します。

GetExceptionForHR(Int32)

指定した HRESULT エラー コードを、対応する Exception オブジェクトに変換します。

GetExceptionPointers()

例外のコンピューターに依存しない説明と、例外が発生したときにスレッドに存在していた状態に関する情報を取得します。

GetFunctionPointerForDelegate(Delegate)
古い.

アンマネージ コードから呼び出し可能な関数ポインターにデリゲートを変換します。

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

指定した型のデリゲートを、アンマネージ コードから呼び出し可能な関数ポインターに変換します。

GetHINSTANCE(Module)

指定したモジュールのインスタンス ハンドル (HINSTANCE) を返します。

GetHRForException(Exception)

指定した例外を HRESULT に変換します。

GetHRForLastWin32Error()

Marshalを使用して実行された Win32 コードによって発生した最後のエラーに対応する HRESULT を返します。

GetIDispatchForObject(Object)

マネージド オブジェクトから IDispatch インターフェイスを返します。

GetIDispatchForObjectInContext(Object)

呼び出し元がそのオブジェクトと同じコンテキストにある場合は、マネージド オブジェクトから IDispatch インターフェイス ポインターを返します。

GetITypeInfoForType(Type)

マネージド型から ITypeInfo インターフェイスを返します。

GetIUnknownForObject(Object)

マネージド オブジェクトから IUnknown インターフェイスを返します。

GetIUnknownForObjectInContext(Object)

呼び出し元がそのオブジェクトと同じコンテキストにある場合は、マネージド オブジェクトから IUnknown インターフェイスを返します。

GetLastPInvokeError()

現在のスレッドで最後のプラットフォーム呼び出しエラーを取得します。

GetLastPInvokeErrorMessage()

最後の PInvoke エラー コードのシステム エラー メッセージを取得します。

GetLastSystemError()

現在のスレッドの最後のシステム エラーを取得します。

GetLastWin32Error()

SetLastError フラグが設定されているプラットフォーム呼び出しを使用して呼び出された最後のアンマネージ関数によって返されたエラー コードを返します。

GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32)
古い.

マネージド コードからアンマネージ コードへの呼び出しをマーシャリングするランタイム生成関数へのポインターを取得します。

GetMethodInfoForComSlot(Type, Int32, ComMemberType)

指定した仮想関数テーブル (v テーブルまたは VTBL) スロットの MemberInfo オブジェクトを取得します。

GetNativeVariantForObject(Object, IntPtr)
古い.

オブジェクトを COM VARIANT に変換します。

GetNativeVariantForObject<T>(T, IntPtr)
古い.

指定した型のオブジェクトを COM VARIANT に変換します。

GetObjectForIUnknown(IntPtr)

IUnknown インターフェイスへのポインターによって COM オブジェクトを表す型のインスタンスを返します。

GetObjectForNativeVariant(IntPtr)
古い.

COM VARIANT をオブジェクトに変換します。

GetObjectForNativeVariant<T>(IntPtr)
古い.

COM VARIANT を指定した型のオブジェクトに変換します。

GetObjectsForNativeVariants(IntPtr, Int32)
古い.

COM VARIANT の配列をオブジェクトの配列に変換します。

GetObjectsForNativeVariants<T>(IntPtr, Int32)
古い.

COM VARIANT の配列を、指定した型の配列に変換します。

GetPInvokeErrorMessage(Int32)

指定されたエラー コードのシステム エラー メッセージを取得します。

GetStartComSlot(Type)

ユーザー定義メソッドを含む仮想関数テーブル (v テーブルまたは VTBL) の最初のスロットを取得します。

GetThreadFromFiberCookie(Int32)
古い.

ファイバー Cookie を対応する Thread インスタンスに変換します。

GetTypedObjectForIUnknown(IntPtr, Type)

COM オブジェクトを表す指定した型のマネージド オブジェクトを返します。

GetTypeForITypeInfo(IntPtr)

アンマネージ ITypeInfo オブジェクトをマネージド Type オブジェクトに変換します。

GetTypeFromCLSID(Guid)

指定したクラス識別子 (CLSID) に関連付けられている型を返します。

GetTypeInfoName(ITypeInfo)

ITypeInfo オブジェクトによって表される型の名前を取得します。

GetTypeInfoName(UCOMITypeInfo)
古い.

ITypeInfo オブジェクトによって表される型の名前を取得します。

GetTypeLibGuid(ITypeLib)

タイプ ライブラリのライブラリ識別子 (MIME) を取得します。

GetTypeLibGuid(UCOMITypeLib)
古い.

タイプ ライブラリのライブラリ識別子 (MIME) を取得します。

GetTypeLibGuidForAssembly(Assembly)

指定したアセンブリからエクスポートされたときにタイプ ライブラリに割り当てられたライブラリ識別子 (LIBID) を取得します。

GetTypeLibLcid(ITypeLib)

タイプ ライブラリの LCID を取得します。

GetTypeLibLcid(UCOMITypeLib)
古い.

タイプ ライブラリの LCID を取得します。

GetTypeLibName(ITypeLib)

タイプ ライブラリの名前を取得します。

GetTypeLibName(UCOMITypeLib)
古い.

タイプ ライブラリの名前を取得します。

GetTypeLibVersionForAssembly(Assembly, Int32, Int32)

指定したアセンブリからエクスポートされるタイプ ライブラリのバージョン番号を取得します。

GetUniqueObjectForIUnknown(IntPtr)

特定の IUnknown インターフェイスの一意のランタイム呼び出し可能ラッパー (RCW) オブジェクトを作成します。

GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32)
古い.

アンマネージ コードからマネージド コードへの呼び出しをマーシャリングするランタイム生成関数へのポインターを取得します。

InitHandle(SafeHandle, IntPtr)

新しく作成された SafeHandle の基になるハンドルを、指定された値に初期化します。

IsComObject(Object)

指定したオブジェクトが COM オブジェクトを表すかどうかを示します。

IsTypeVisibleFromCom(Type)

型が COM クライアントに表示されるかどうかを示します。

NumParamBytes(MethodInfo)

指定したメソッドのパラメーターを保持するために必要なアンマネージ メモリ内のバイト数を計算します。

OffsetOf(Type, String)
古い.

マネージド クラスのアンマネージ 形式のフィールド オフセットを返します。

OffsetOf<T>(String)

指定したマネージド クラスのアンマネージ 形式のフィールド オフセットを返します。

Prelink(MethodInfo)

メソッドを呼び出さずに、1 回限りのメソッド セットアップ タスクを実行します。

PrelinkAll(Type)

クラスのすべてのメソッドのリンク前チェックを実行します。

PtrToStringAnsi(IntPtr, Int32)

マネージド Stringを割り当て、アンマネージド ANSI 文字列または UTF-8 文字列から指定した数の文字をコピーして、各文字を UTF-16 に拡大します。

PtrToStringAnsi(IntPtr)

アンマネージド ANSI または UTF-8 文字列から最初の null 文字までのすべての文字をマネージド Stringにコピーし、各文字を UTF-16 に拡大します。

PtrToStringAuto(IntPtr, Int32)

マネージド String を割り当て、アンマネージド メモリに格納されている文字列から指定した文字数をコピーします。

PtrToStringAuto(IntPtr)

マネージド String を割り当て、アンマネージド メモリに格納されている文字列から最初の null 文字まですべての文字をコピーします。

PtrToStringBSTR(IntPtr)

アンマネージ メモリに格納されているマネージド バイナリ文字列 (BSTR) を割り当てます。

PtrToStringUni(IntPtr, Int32)

マネージド String を割り当て、アンマネージド Unicode 文字列から指定した数の文字をコピーします。

PtrToStringUni(IntPtr)

マネージド String を割り当て、アンマネージド Unicode 文字列から最初の null 文字まですべての文字をコピーします。

PtrToStringUTF8(IntPtr, Int32)

マネージド String を割り当て、アンマネージド UTF8 文字列から指定したバイト数をコピーします。

PtrToStringUTF8(IntPtr)

マネージド String を割り当て、アンマネージド UTF-8 文字列から最初の null 文字まですべての文字をコピーします。

PtrToStructure(IntPtr, Object)
古い.

アンマネージ メモリ ブロックからマネージド オブジェクトにデータをマーシャリングします。

PtrToStructure(IntPtr, Type)
古い.

メモリのアンマネージド ブロックから、指定した型の新しく割り当てられたマネージド オブジェクトにデータをマーシャリングします。

PtrToStructure<T>(IntPtr, T)

メモリのアンマネージ ブロックから、指定した型のマネージド オブジェクトにデータをマーシャリングします。

PtrToStructure<T>(IntPtr)

メモリのアンマネージド ブロックから、ジェネリック型パラメーターで指定された型の新しく割り当てられたマネージド オブジェクトにデータをマーシャリングします。

QueryInterface(IntPtr, Guid, IntPtr)

COM オブジェクトから指定したインターフェイスへのポインターを要求します。

ReadByte(IntPtr, Int32)

アンマネージ メモリから、指定されたオフセット (またはインデックス) で 1 バイトを読み取ります。

ReadByte(IntPtr)

アンマネージ メモリから 1 バイトを読み取ります。

ReadByte(Object, Int32)
古い.

アンマネージ メモリから、指定されたオフセット (またはインデックス) で 1 バイトを読み取ります。

ReadInt16(IntPtr, Int32)

アンマネージ メモリから、指定されたオフセットで 16 ビット符号付き整数を読み取ります。

ReadInt16(IntPtr)

アンマネージ メモリから 16 ビット符号付き整数を読み取ります。

ReadInt16(Object, Int32)
古い.

アンマネージ メモリから、指定されたオフセットで 16 ビット符号付き整数を読み取ります。

ReadInt32(IntPtr, Int32)

アンマネージ メモリから、指定されたオフセットで 32 ビット符号付き整数を読み取ります。

ReadInt32(IntPtr)

アンマネージ メモリから 32 ビット符号付き整数を読み取ります。

ReadInt32(Object, Int32)
古い.

アンマネージ メモリから、指定されたオフセットで 32 ビット符号付き整数を読み取ります。

ReadInt64(IntPtr, Int32)

アンマネージ メモリから、指定されたオフセットで 64 ビット符号付き整数を読み取ります。

ReadInt64(IntPtr)

アンマネージ メモリから 64 ビット符号付き整数を読み取ります。

ReadInt64(Object, Int32)
古い.

アンマネージ メモリから、指定されたオフセットで 64 ビット符号付き整数を読み取ります。

ReadIntPtr(IntPtr, Int32)

アンマネージ メモリから、指定されたオフセットでプロセッサのネイティブ サイズの整数を読み取ります。

ReadIntPtr(IntPtr)

アンマネージ メモリからプロセッサのネイティブ サイズの整数を読み取ります。

ReadIntPtr(Object, Int32)
古い.

アンマネージ メモリからプロセッサのネイティブ サイズの整数を読み取ります。

ReAllocCoTaskMem(IntPtr, Int32)

以前に AllocCoTaskMem(Int32)で割り当てられたメモリ ブロックのサイズを変更します。

ReAllocHGlobal(IntPtr, IntPtr)

以前に AllocHGlobal(IntPtr)で割り当てられたメモリ ブロックのサイズを変更します。

Release(IntPtr)

指定したインターフェイスの参照カウントをデクリメントします。

ReleaseComObject(Object)

指定した COM オブジェクトに関連付けられている ランタイム呼び出し可能ラッパー (RCW) の参照カウントをデクリメントします。

ReleaseThreadCache()
古い.

スレッド キャッシュを解放します。

SecureStringToBSTR(SecureString)

アンマネージ バイナリ文字列 (BSTR) を割り当て、マネージド SecureString オブジェクトの内容をコピーします。

SecureStringToCoTaskMemAnsi(SecureString)

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

SecureStringToCoTaskMemUnicode(SecureString)

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

SecureStringToGlobalAllocAnsi(SecureString)

マネージド SecureString の内容をアンマネージド メモリにコピーし、コピー時に ANSI 形式に変換します。

SecureStringToGlobalAllocUnicode(SecureString)

マネージド SecureString オブジェクトの内容をアンマネージ メモリにコピーします。

SetComObjectData(Object, Object, Object)

指定した COM オブジェクト内の指定したキーによって参照されるデータを設定します。

SetLastPInvokeError(Int32)

現在のスレッドで最後のプラットフォーム呼び出しエラーを設定します。

SetLastSystemError(Int32)

現在のスレッドの最後のシステム エラーを設定します。

SizeOf(Object)
古い.

オブジェクトのアンマネージ サイズをバイト単位で返します。

SizeOf(Type)
古い.

アンマネージ型のサイズをバイト単位で返します。

SizeOf<T>()

アンマネージ型のサイズをバイト単位で返します。

SizeOf<T>(T)

指定した型のオブジェクトのアンマネージ サイズをバイト単位で返します。

StringToBSTR(String)

BSTR を割り当て、マネージド String の内容をコピーします。

StringToCoTaskMemAnsi(String)

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

StringToCoTaskMemAuto(String)

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

StringToCoTaskMemUni(String)

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

StringToCoTaskMemUTF8(String)

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

StringToHGlobalAnsi(String)

マネージド String の内容をアンマネージド メモリにコピーし、コピー時に ANSI 形式に変換します。

StringToHGlobalAuto(String)

マネージド String の内容をアンマネージ メモリにコピーし、必要に応じて ANSI 形式に変換します。

StringToHGlobalUni(String)

マネージド String の内容をアンマネージ メモリにコピーします。

StructureToPtr(Object, IntPtr, Boolean)
古い.

マネージド オブジェクトからアンマネージ メモリ ブロックにデータをマーシャリングします。

StructureToPtr<T>(T, IntPtr, Boolean)

指定した型のマネージド オブジェクトからアンマネージ メモリ ブロックにデータをマーシャリングします。

ThrowExceptionForHR(Int32, Guid, IntPtr)

アンマネージ メモリの割り当て、アンマネージ メモリ ブロックのコピー、マネージド型からアンマネージ型への変換、およびアンマネージ コードとの対話時に使用されるその他のその他のメソッドのコレクションを提供します。

ThrowExceptionForHR(Int32, IntPtr)

指定した IErrorInfo インターフェイスに基づいて、特定のエラー HRESULT で例外をスローします。

ThrowExceptionForHR(Int32)

特定のエラー HRESULT 値を持つ例外をスローします。

UnsafeAddrOfPinnedArrayElement(Array, Int32)
古い.

指定した配列内の指定したインデックス位置にある要素のアドレスを取得します。

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

指定した型の配列内の指定したインデックス位置にある要素のアドレスを取得します。

WriteByte(IntPtr, Byte)

アンマネージ メモリに 1 バイトの値を書き込みます。

WriteByte(IntPtr, Int32, Byte)

指定したオフセットのアンマネージド メモリに 1 バイトの値を書き込みます。

WriteByte(Object, Int32, Byte)
古い.

指定したオフセットのアンマネージド メモリに 1 バイトの値を書き込みます。

WriteInt16(IntPtr, Char)

アンマネージ メモリに 16 ビット整数値として文字を書き込みます。

WriteInt16(IntPtr, Int16)

アンマネージ メモリに 16 ビット整数値を書き込みます。

WriteInt16(IntPtr, Int32, Char)

指定したオフセットで、16 ビット符号付き整数値をアンマネージ メモリに書き込みます。

WriteInt16(IntPtr, Int32, Int16)

16 ビット符号付き整数値を、指定されたオフセットのアンマネージ メモリに書き込みます。

WriteInt16(Object, Int32, Char)
古い.

指定したオフセットで、16 ビット符号付き整数値をアンマネージ メモリに書き込みます。

WriteInt16(Object, Int32, Int16)
古い.

指定したオフセットで、16 ビット符号付き整数値をアンマネージ メモリに書き込みます。

WriteInt32(IntPtr, Int32, Int32)

32 ビット符号付き整数値を、指定したオフセットのアンマネージ メモリに書き込みます。

WriteInt32(IntPtr, Int32)

32 ビット符号付き整数値をアンマネージ メモリに書き込みます。

WriteInt32(Object, Int32, Int32)
古い.

指定したオフセットで、32 ビット符号付き整数値をアンマネージ メモリに書き込みます。

WriteInt64(IntPtr, Int32, Int64)

指定したオフセットでアンマネージ メモリに 64 ビット符号付き整数値を書き込みます。

WriteInt64(IntPtr, Int64)

64 ビット符号付き整数値をアンマネージ メモリに書き込みます。

WriteInt64(Object, Int32, Int64)
古い.

指定したオフセットでアンマネージ メモリに 64 ビット符号付き整数値を書き込みます。

WriteIntPtr(IntPtr, Int32, IntPtr)

プロセッサのネイティブ サイズの整数値を、指定したオフセットのアンマネージ メモリに書き込みます。

WriteIntPtr(IntPtr, IntPtr)

プロセッサのネイティブ サイズの整数値をアンマネージ メモリに書き込みます。

WriteIntPtr(Object, Int32, IntPtr)
古い.

プロセッサのネイティブ サイズの整数値をアンマネージ メモリに書き込みます。

ZeroFreeBSTR(IntPtr)

SecureStringToBSTR(SecureString) メソッドを使用して割り当てられた BSTR ポインターを解放します。

ZeroFreeCoTaskMemAnsi(IntPtr)

SecureStringToCoTaskMemAnsi(SecureString) メソッドを使用して割り当てられたアンマネージ文字列ポインターを解放します。

ZeroFreeCoTaskMemUnicode(IntPtr)

SecureStringToCoTaskMemUnicode(SecureString) メソッドを使用して割り当てられたアンマネージ文字列ポインターを解放します。

ZeroFreeCoTaskMemUTF8(IntPtr)

StringToCoTaskMemUTF8(String) メソッドを使用して割り当てられたアンマネージ文字列ポインターを解放します。

ZeroFreeGlobalAllocAnsi(IntPtr)

SecureStringToGlobalAllocAnsi(SecureString) メソッドを使用して割り当てられたアンマネージ文字列ポインターを解放します。

ZeroFreeGlobalAllocUnicode(IntPtr)

SecureStringToGlobalAllocUnicode(SecureString) メソッドを使用して割り当てられたアンマネージ文字列ポインターを解放します。

適用対象