Marshal.PtrToStructure メソッド

定義

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

オーバーロード

名前 説明
PtrToStructure(IntPtr, Object)
古い.

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

PtrToStructure(IntPtr, Type)
古い.

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

PtrToStructure<T>(IntPtr)

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

PtrToStructure<T>(IntPtr, T)

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

PtrToStructure(IntPtr, Object)

注意事項

PtrToStructure(IntPtr, Object) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296512

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

public:
 static void PtrToStructure(IntPtr ptr, System::Object ^ structure);
[System.Obsolete("PtrToStructure(IntPtr, Object) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296512")]
[System.Security.SecurityCritical]
public static void PtrToStructure(IntPtr ptr, object structure);
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Runtime.InteropServices.ComVisible(true)]
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(true)]
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Security.SecurityCritical]
public static void PtrToStructure(IntPtr ptr, object structure);
[<System.Obsolete("PtrToStructure(IntPtr, Object) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296512")>]
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * obj -> unit
static member PtrToStructure : nativeint * obj -> unit
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * obj -> unit
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * obj -> unit
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * obj -> unit
Public Shared Sub PtrToStructure (ptr As IntPtr, structure As Object)

パラメーター

ptr
IntPtr

nativeint

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

structure
Object

データのコピー先となるオブジェクト。 これは、書式設定されたクラスのインスタンスである必要があります。

属性

例外

構造体のレイアウトは、シーケンシャルまたは明示的ではありません。

-または-

構造体はボックス化された値型です。

注釈

PtrToStructure は、多くの場合、構造体パラメーターが System.IntPtr 値として表される場合に、COM 相互運用機能とプラットフォーム呼び出しで必要になります。 このオーバーロード メソッドを値型と共に使用することはできません。 ptr パラメーターがIntPtr.Zeroと等しい場合は、nullが返されます。

適用対象

PtrToStructure(IntPtr, Type)

注意事項

PtrToStructure(IntPtr, Type) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296513

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

public:
 static System::Object ^ PtrToStructure(IntPtr ptr, Type ^ structureType);
[System.Obsolete("PtrToStructure(IntPtr, Type) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296513")]
[System.Security.SecurityCritical]
public static object PtrToStructure(IntPtr ptr, Type structureType);
public static object PtrToStructure(IntPtr ptr, Type structureType);
[System.Runtime.InteropServices.ComVisible(true)]
public static object PtrToStructure(IntPtr ptr, Type structureType);
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(true)]
public static object PtrToStructure(IntPtr ptr, Type structureType);
[System.Security.SecurityCritical]
public static object PtrToStructure(IntPtr ptr, Type structureType);
[<System.Obsolete("PtrToStructure(IntPtr, Type) may be unavailable in future releases. Instead, use PtrToStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296513")>]
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * Type -> obj
static member PtrToStructure : nativeint * Type -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(true)>]
static member PtrToStructure : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * Type -> obj
Public Shared Function PtrToStructure (ptr As IntPtr, structureType As Type) As Object

パラメーター

ptr
IntPtr

nativeint

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

structureType
Type

作成するオブジェクトの型。 このオブジェクトは、書式設定されたクラスまたは構造体を表す必要があります。

返品

ptr パラメーターが指すデータを含むマネージド オブジェクト。

属性

例外

structureType パラメーターのレイアウトは、シーケンシャルまたは明示的ではありません。

-または-

structureType パラメーターはジェネリック型定義です。

structureTypenullです。

structureTypeで指定されたクラスには、アクセス可能なパラメーターなしのコンストラクターがありません。

注釈

PtrToStructure は、多くの場合、構造体パラメーターが System.IntPtr 値として表される場合に、COM 相互運用機能とプラットフォーム呼び出しで必要になります。 このオーバーロード メソッドに値型を渡すことができます。 この場合、返されるオブジェクトはボックス化されたインスタンスです。 ptr パラメーターがIntPtr.Zeroと等しい場合は、nullが返されます。

こちらもご覧ください

適用対象

PtrToStructure<T>(IntPtr)

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

public:
generic <typename T>
 static T PtrToStructure(IntPtr ptr);
[System.Security.SecurityCritical]
public static T PtrToStructure<T>(IntPtr ptr);
public static T PtrToStructure<T>(IntPtr ptr);
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint -> 'T
static member PtrToStructure : nativeint -> 'T
Public Shared Function PtrToStructure(Of T) (ptr As IntPtr) As T

型パラメーター

T

データのコピー先となるオブジェクトの型。 これは、書式設定されたクラスまたは構造体である必要があります。

パラメーター

ptr
IntPtr

nativeint

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

返品

T

ptr パラメーターが指すデータを格納しているマネージド オブジェクト。

属性

例外

Tのレイアウトは、シーケンシャルまたは明示的ではありません。

Tで指定されたクラスには、アクセス可能なパラメーターなしのコンストラクターがありません。

注釈

PtrToStructure<T>(IntPtr) は、多くの場合、構造体パラメーターが System.IntPtr 値として表される場合に、COM 相互運用機能とプラットフォーム呼び出しで必要になります。 このメソッドのオーバーロードに値型を渡すことができます。 ptr パラメーターが IntPtr.Zero と等しく、Tが参照型の場合は、nullが返されます。 ptrIntPtr.Zeroに等しく、Tが値型の場合は、NullReferenceExceptionがスローされます。

適用対象

PtrToStructure<T>(IntPtr, T)

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

public:
generic <typename T>
 static void PtrToStructure(IntPtr ptr, T structure);
[System.Security.SecurityCritical]
public static void PtrToStructure<T>(IntPtr ptr, T structure);
public static void PtrToStructure<T>(IntPtr ptr, T structure);
[<System.Security.SecurityCritical>]
static member PtrToStructure : nativeint * 'T -> unit
static member PtrToStructure : nativeint * 'T -> unit
Public Shared Sub PtrToStructure(Of T) (ptr As IntPtr, structure As T)

型パラメーター

T

structure の型。 これは、書式設定されたクラスである必要があります。

パラメーター

ptr
IntPtr

nativeint

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

structure
T

データのコピー先となるオブジェクト。

属性

例外

構造体のレイアウトは、シーケンシャルまたは明示的ではありません。

注釈

PtrToStructure<T>(IntPtr, T) は、多くの場合、構造体パラメーターが IntPtr 値として表される場合に、COM 相互運用機能とプラットフォーム呼び出しで必要になります。 このメソッドのオーバーロードを値型と共に使用することはできません。 ptr パラメーターが IntPtr.Zero と等しく、Tが参照型の場合は、nullが返されます。 ptrIntPtr.Zeroに等しく、Tが値型の場合は、NullReferenceExceptionがスローされます。

適用対象