Marshal.PtrToStructure 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
관리되지 않는 메모리 블록에서 관리되는 개체로 데이터를 마샬링합니다.
오버로드
| Name | Description |
|---|---|
| PtrToStructure(IntPtr, Object) |
사용되지 않음.
관리되지 않는 메모리 블록에서 관리되는 개체로 데이터를 마샬링합니다. |
| PtrToStructure(IntPtr, Type) |
사용되지 않음.
관리되지 않는 메모리 블록에서 지정된 형식의 새로 할당된 관리되는 개체로 데이터를 마샬링합니다. |
| PtrToStructure<T>(IntPtr) |
관리되지 않는 메모리 블록에서 제네릭 형식 매개 변수로 지정된 형식의 새로 할당된 관리 개체로 데이터를 마샬링합니다. |
| PtrToStructure<T>(IntPtr, T) |
관리되지 않는 메모리 블록에서 지정된 형식의 관리되는 개체로 데이터를 마샬링합니다. |
PtrToStructure(IntPtr, Object)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
주의
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Marshalling code for the object might not be available")]
public static void PtrToStructure(IntPtr ptr, object structure);
public static void PtrToStructure(IntPtr ptr, object structure);
[System.Security.SecurityCritical]
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.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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Marshalling code for the object might not be available")>]
static member PtrToStructure : nativeint * obj -> unit
static member PtrToStructure : nativeint * obj -> unit
[<System.Security.SecurityCritical>]
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
Public Shared Sub PtrToStructure (ptr As IntPtr, structure As Object)
매개 변수
- ptr
-
IntPtr
nativeint
관리되지 않는 메모리 블록에 대한 포인터입니다.
- structure
- Object
데이터를 복사할 개체입니다. 형식이 지정된 클래스의 인스턴스여야 합니다.
- 특성
예외
설명
PtrToStructure 는 구조체 매개 변수가 값으로 표현될 때 COM interop 및 플랫폼 호출에 System.IntPtr 필요한 경우가 많습니다. 값 형식에는 이 오버로드 메서드를 사용할 수 없습니다.
매개 변수가 ptrIntPtr.Zeronull 같으면 반환됩니다.
적용 대상
PtrToStructure(IntPtr, Type)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
주의
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Marshalling code for the object might not be available")]
public static object? PtrToStructure(IntPtr ptr, Type structureType);
public static object? PtrToStructure(IntPtr ptr, Type structureType);
[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.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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Marshalling code for the object might not be available")>]
static member PtrToStructure : nativeint * Type -> obj
static member PtrToStructure : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
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
Public Shared Function PtrToStructure (ptr As IntPtr, structureType As Type) As Object
매개 변수
- ptr
-
IntPtr
nativeint
관리되지 않는 메모리 블록에 대한 포인터입니다.
- structureType
- Type
만들 개체의 형식입니다. 이 개체는 형식이 지정된 클래스 또는 구조를 나타내야 합니다.
반품
매개 변수가 가리키는 데이터를 포함하는 관리되는 개체입니다 ptr .
- 특성
예외
structureType 매개 변수 레이아웃이 순차적이거나 명시적이지 않습니다.
-또는-
structureType 매개 변수는 제네릭 형식 정의입니다.
structureType은 null입니다.
지정된 클래스에 structureType 액세스 가능한 매개 변수가 없는 생성자가 없습니다.
설명
PtrToStructure 는 구조체 매개 변수가 값으로 표현될 때 COM interop 및 플랫폼 호출에 System.IntPtr 필요한 경우가 많습니다. 값 형식을 이 오버로드 메서드에 전달할 수 있습니다. 이 경우 반환된 개체는 boxed 인스턴스입니다.
매개 변수가 ptrIntPtr.Zeronull 같으면 반환됩니다.
추가 정보
적용 대상
PtrToStructure<T>(IntPtr)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
관리되지 않는 메모리 블록에서 제네릭 형식 매개 변수로 지정된 형식의 새로 할당된 관리 개체로 데이터를 마샬링합니다.
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);
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 interop 및 플랫폼 호출에 필요한 경우가 많습니다. 값 형식을 이 메서드 오버로드에 전달할 수 있습니다.
매개 변수가 ptrIntPtr.Zero 같고 T 참조 형식 null 이면 반환됩니다. 값 형식이 같 ptr 고 값 형식이면 IntPtr.Zero throw TNullReferenceException 됩니다.
적용 대상
PtrToStructure<T>(IntPtr, T)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
관리되지 않는 메모리 블록에서 지정된 형식의 관리되는 개체로 데이터를 마샬링합니다.
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 interop 및 플랫폼 호출에 필요한 경우가 많습니다. 값 형식에는 이 메서드 오버로드를 사용할 수 없습니다.
매개 변수가 ptrIntPtr.Zero 같고 T 참조 형식 null 이면 반환됩니다. 값 형식이 같 ptr 고 값 형식이면 IntPtr.Zero throw TNullReferenceException 됩니다.