Marshal.PtrToStructure メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アンマネージ メモリ ブロックからマネージド オブジェクトにデータをマーシャリングします。
オーバーロード
| 名前 | 説明 |
|---|---|
| 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 パラメーターはジェネリック型定義です。
structureType は nullです。
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
アンマネージ メモリ ブロックへのポインター。
返品
ptr パラメーターが指すデータを格納しているマネージド オブジェクト。
- 属性
例外
Tのレイアウトは、シーケンシャルまたは明示的ではありません。
Tで指定されたクラスには、アクセス可能なパラメーターなしのコンストラクターがありません。
注釈
PtrToStructure<T>(IntPtr) は、多くの場合、構造体パラメーターが System.IntPtr 値として表される場合に、COM 相互運用機能とプラットフォーム呼び出しで必要になります。 このメソッドのオーバーロードに値型を渡すことができます。
ptr パラメーターが IntPtr.Zero と等しく、Tが参照型の場合は、nullが返されます。
ptrがIntPtr.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が返されます。
ptrがIntPtr.Zeroに等しく、Tが値型の場合は、NullReferenceExceptionがスローされます。