Marshal 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
관리되지 않는 메모리를 할당하고, 관리되지 않는 메모리 블록을 복사하고, 관리되지 않는 형식으로 변환하는 방법과 관리되지 않는 코드와 상호 작용할 때 사용되는 기타 메서드의 컬렉션을 제공합니다.
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 문자를 복사합니다. 또한 적절한 크기의 대상 힙을 할당합니다.
공용 언어 런타임은 특정 마샬링 기능을 제공합니다. 마샬링 동작에 대한 자세한 내용은 Interop 마샬링을 참조하세요.
클래스의 Read 메서드 및 Write 메서드는 Marshal 정렬된 액세스와 정렬되지 않은 액세스를 모두 지원합니다.
필드
| Name | Description |
|---|---|
| SystemDefaultCharSize |
시스템의 기본 문자 크기를 나타냅니다. 기본값은 유니코드 시스템의 경우 2이고 ANSI 시스템의 경우 1입니다. 이 필드는 읽기 전용입니다. |
| SystemMaxDBCSCharSize |
현재 운영 체제에 대한 DBCS(더블바이트 문자 집합) 크기의 최대 크기(바이트)를 나타냅니다. 이 필드는 읽기 전용입니다. |
메서드
| Name | Description |
|---|---|
| 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) |
관리 IntPtr 되는 1차원 배열의 데이터를 관리되지 않는 메모리 포인터로 복사합니다. |
| 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) |
|
| FreeCoTaskMem(IntPtr) |
관리되지 않는 COM 작업 메모리 할당자가 할당한 메모리 블록을 해제합니다. |
| FreeHGlobal(IntPtr) |
이전에 프로세스의 관리되지 않는 메모리에서 할당된 메모리를 해제합니다. |
| GenerateGuidForType(Type) |
지정된 형식에 대한 GUID(Globally Unique Identifier)를 반환하거나 형식 라이브러리 내보내기(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) |
해당 형식이 COM에 노출될 때 지정된 MemberInfo 형식에 대한 가상 함수 테이블(v-table 또는 VTBL) 슬롯을 검색합니다. |
| GetDelegateForFunctionPointer(IntPtr, Type) |
사용되지 않음.
관리되지 않는 함수 포인터를 대리자로 변환합니다. |
| GetDelegateForFunctionPointer<TDelegate>(IntPtr) |
관리되지 않는 함수 포인터를 지정된 형식의 대리자로 변환합니다. |
| GetEndComSlot(Type) |
COM에 노출될 때 형식의 가상 함수 테이블(v-table 또는 VTBL)의 마지막 슬롯을 검색합니다. |
| GetExceptionCode() |
사용되지 않음.
발생한 예외의 형식을 식별하는 코드를 검색합니다. |
| GetExceptionForHR(Int32, Guid, IntPtr) |
관리되지 않는 메모리를 할당하고, 관리되지 않는 메모리 블록을 복사하고, 관리되지 않는 형식으로 변환하는 방법과 관리되지 않는 코드와 상호 작용할 때 사용되는 기타 메서드의 컬렉션을 제공합니다. |
| GetExceptionForHR(Int32, IntPtr) |
예외 개체에 대한 Exception 인터페이스에 전달된 추가 오류 정보를 사용하여 지정된 HRESULT 오류 코드를 해당 개체로 변환합니다. |
| 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) |
MemberInfo 지정된 가상 함수 테이블(v-table 또는 VTBL) 슬롯에 대한 개체를 검색합니다. |
| 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-table 또는 VTBL)의 첫 번째 슬롯을 가져옵니다. |
| GetThreadFromFiberCookie(Int32) |
사용되지 않음.
파이버 쿠키를 해당 Thread 인스턴스로 변환합니다. |
| GetTypedObjectForIUnknown(IntPtr, Type) |
COM 개체를 나타내는 지정된 형식의 관리되는 개체를 반환합니다. |
| GetTypeForITypeInfo(IntPtr) | |
| GetTypeFromCLSID(Guid) |
CLSID(지정된 클래스 식별자)와 연결된 형식을 반환합니다. |
| GetTypeInfoName(ITypeInfo) |
ITypeInfo 개체가 나타내는 형식의 이름을 검색합니다. |
| GetTypeInfoName(UCOMITypeInfo) |
사용되지 않음.
ITypeInfo 개체가 나타내는 형식의 이름을 검색합니다. |
| GetTypeLibGuid(ITypeLib) |
형식 라이브러리의 라이브러리 식별자(LIBID)를 검색합니다. |
| GetTypeLibGuid(UCOMITypeLib) |
사용되지 않음.
형식 라이브러리의 라이브러리 식별자(LIBID)를 검색합니다. |
| 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) |
메서드를 호출하지 않고 일회성 메서드 설정 작업을 실행합니다. |
| 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 되는 문자를 할당하고 관리되지 않는 유니코드 문자열에서 지정된 수의 문자를 복사합니다. |
| PtrToStringUni(IntPtr) |
관리 String 되는 문자를 할당하고 관리되지 않는 유니코드 문자열에서 첫 번째 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) |
관리되지 않는 메모리에서 지정된 오프셋(또는 인덱스)에서 단일 바이트를 읽습니다. |
| ReadByte(IntPtr) |
관리되지 않는 메모리에서 단일 바이트를 읽습니다. |
| ReadByte(Object, Int32) |
사용되지 않음.
관리되지 않는 메모리에서 지정된 오프셋(또는 인덱스)에서 단일 바이트를 읽습니다. |
| 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를 사용하여 예외를 throw합니다. |
| ThrowExceptionForHR(Int32) |
특정 오류 HRESULT 값으로 예외를 throw합니다. |
| UnsafeAddrOfPinnedArrayElement(Array, Int32) |
사용되지 않음.
지정된 배열 내의 지정된 인덱스에서 요소의 주소를 가져옵니다. |
| UnsafeAddrOfPinnedArrayElement<T>(T[], Int32) |
지정된 형식의 배열에서 지정된 인덱스에서 요소의 주소를 가져옵니다. |
| WriteByte(IntPtr, Byte) |
관리되지 않는 메모리에 단일 바이트 값을 씁니다. |
| WriteByte(IntPtr, Int32, Byte) |
지정된 오프셋에서 관리되지 않는 메모리에 단일 바이트 값을 씁니다. |
| WriteByte(Object, Int32, Byte) |
사용되지 않음.
지정된 오프셋에서 관리되지 않는 메모리에 단일 바이트 값을 씁니다. |
| 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) |
메서드를 사용하여 할당된 BSTR 포인터를 해제합니다 SecureStringToBSTR(SecureString) . |
| ZeroFreeCoTaskMemAnsi(IntPtr) |
메서드를 사용하여 할당된 관리되지 않는 문자열 포인터를 해제합니다 SecureStringToCoTaskMemAnsi(SecureString) . |
| ZeroFreeCoTaskMemUnicode(IntPtr) |
메서드를 사용하여 할당된 관리되지 않는 문자열 포인터를 해제합니다 SecureStringToCoTaskMemUnicode(SecureString) . |
| ZeroFreeCoTaskMemUTF8(IntPtr) |
메서드를 사용하여 할당된 관리되지 않는 문자열 포인터를 해제합니다 StringToCoTaskMemUTF8(String) . |
| ZeroFreeGlobalAllocAnsi(IntPtr) |
메서드를 사용하여 할당된 관리되지 않는 문자열 포인터를 해제합니다 SecureStringToGlobalAllocAnsi(SecureString) . |
| ZeroFreeGlobalAllocUnicode(IntPtr) |
메서드를 사용하여 할당된 관리되지 않는 문자열 포인터를 해제합니다 SecureStringToGlobalAllocUnicode(SecureString) . |