다음을 통해 공유


Marshal 멤버

관리되지 않는 메모리를 할당하고, 관리되지 않는 메모리 블록을 복사하고, 관리되는 형식을 관리되지 않는 형식으로 변환하는 메서드의 컬렉션 및 비관리 코드와 상호 작용할 때 사용되는 기타 메서드의 컬렉션을 제공합니다.

다음 표에서는 Marshal 형식에 의해 노출되는 멤버를 보여 줍니다.

Public 필드

  이름 설명
Public field Static Supported by the .NET Compact Framework SystemDefaultCharSize 시스템의 기본 문자 크기를 나타냅니다. 유니코드 시스템의 경우 기본값이 2이고, ANSI 시스템의 경우 1입니다. 이 필드는 읽기 전용입니다.
Public field Static SystemMaxDBCSCharSize 현재 운영 체제에서 DBCS(더블바이트 문자 집합)의 최대 크기(바이트)를 나타냅니다. 이 필드는 읽기 전용입니다.

위쪽

Public 메서드

  이름 설명
Public method Static Supported by the .NET Compact Framework AddRef 지정된 인터페이스의 참조 횟수를 증가시킵니다.
Public method Static Supported by the .NET Compact Framework AllocCoTaskMem COM 작업 메모리 할당자에서 지정된 크기의 메모리 블록을 할당합니다.
Public method Static AllocHGlobal 오버로드되었습니다. LocalAlloc를 사용하여 메모리 블록을 할당합니다.
Public method Static BindToMoniker 지정된 모니커로 식별되는 인터페이스 포인터를 가져옵니다.
Public method Static ChangeWrapperHandleStrength 해당 개체에 대한 CCW(COM 호출 가능 래퍼)의 핸들 강도를 변경합니다.
Public method Static Supported by the .NET Compact Framework Copy 오버로드되었습니다. 관리되는 배열에서 관리되지 않는 메모리 포인터로 데이터를 복사하거나 관리되지 않는 메모리 포인터에서 관리되는 배열로 데이터를 복사합니다.
Public method Static CreateAggregatedObject 지정된 COM 개체를 사용하여 관리되는 개체를 집계합니다.
Public method Static CreateWrapperOfType 지정된 형식의 개체에 지정된 COM 개체를 래핑합니다.
Public method Static DestroyStructure 지정된 관리되지 않는 메모리 블록이 가리키는 모든 하위 구조체를 해제합니다.
Public method Supported by the .NET Compact Framework Equals  오버로드되었습니다. 두 개의 Object 인스턴스가 같은지 여부를 확인합니다. (Object에서 상속됨)
Public method Static FinalReleaseComObject 제공된 RCW(런타임 호출 가능 래퍼)의 참조 횟수를 0으로 설정하여 RCW에 대한 모든 참조를 해제합니다.
Public method Static FreeBSTR SysFreeString을 사용하여 BSTR를 해제합니다.
Public method Static Supported by the .NET Compact Framework FreeCoTaskMem Marshal.AllocCoTaskMem을 사용하여 관리되지 않는 COM 작업 메모리 할당자에서 할당한 메모리 블록을 해제합니다.
Public method Static FreeHGlobal AllocHGlobal을 사용하여 프로세스의 관리되지 않는 메모리에서 이전에 할당한 메모리를 해제합니다.
Public method Static GenerateGuidForType 지정된 형식에 대한 GUID(Globally Unique Identifier)를 반환하거나 형식 라이브러리 내보내기(TlbExp.exe)에 사용되는 알고리즘을 사용하여 GUID를 생성합니다.
Public method Static GenerateProgIdForType 지정된 형식에 대한 ProgID(프로그래밍 식별자)를 반환합니다.
Public method Static GetActiveObject ROT(실행 개체 테이블)에서 지정된 개체의 실행 중인 인스턴스를 가져옵니다.
Public method Static Supported by the .NET Compact Framework GetComInterfaceForObject 개체에 대해 지정된 인터페이스를 나타내는 인터페이스 포인터를 반환합니다.
Public method Static GetComInterfaceForObjectInContext 호출자가 개체와 같은 컨텍스트에 있는 경우 해당 개체에 대해 지정된 인터페이스를 나타내는 인터페이스 포인터를 반환합니다.
Public method Static GetComObjectData 지정된 COM 개체에서 지정된 키를 사용하여 데이터 참조를 가져옵니다.
Public method Static GetComSlotForMethodInfo COM에 노출될 때 지정된 System.Reflection.MemberInfo에 대한 VTBL(가상 함수 테이블) 슬롯을 가져옵니다.
Public method Static GetDelegateForFunctionPointer 관리되지 않는 함수 포인터를 대리자로 변환합니다.
Public method Static GetEndComSlot COM에 노출될 때 형식의 VTBL(가상 함수 테이블)에 있는 마지막 슬롯을 가져옵니다.
Public method Static GetExceptionCode 발생한 예외의 형식을 식별하는 코드를 검색합니다.
Public method Static Supported by the .NET Compact Framework GetExceptionForHR 오버로드되었습니다. HRESULT 오류 코드를 해당하는 Exception 개체로 변환합니다.
Public method Static GetExceptionPointers 예외에 대한 컴퓨터 독립적 설명과 예외가 발생할 때 스레드에 대해 존재하는 컴퓨터 상태에 대한 정보를 검색합니다.
Public method Static Supported by the .NET Compact Framework GetFunctionPointerForDelegate 대리자를 비관리 코드에서 호출할 수 있는 함수 포인터로 변환합니다.
Public method Supported by the .NET Compact Framework GetHashCode  특정 형식에 대한 해시 함수로 사용되며 GetHashCode는 해시 알고리즘 및 해시 테이블과 같은 데이터 구조에 사용하기 적당합니다. (Object에서 상속됨)
Public method Static GetHINSTANCE 지정된 모듈의 인스턴스 핸들(HINSTANCE)을 반환합니다.
Public method Static Supported by the .NET Compact Framework GetHRForException 지정된 예외를 HRESULT로 변환합니다.
Public method Static GetHRForLastWin32Error Marshal을 사용하여 실행된 Win32 코드에서 발생시킨 마지막 오류에 해당하는 HRESULT를 반환합니다.
Public method Static Supported by the .NET Compact Framework GetIDispatchForObject 관리되는 개체에서 IDispatch 인터페이스를 반환합니다.
Public method Static GetIDispatchForObjectInContext 호출자가 관리되는 개체와 같은 컨텍스트에 있는 경우 해당 개체에서 IDispatch 인터페이스 포인터를 반환합니다.
Public method Static GetITypeInfoForType 관리되는 형식에서 ITypeInfo 인터페이스를 반환합니다.
Public method Static Supported by the .NET Compact Framework GetIUnknownForObject 관리되는 개체에서 IUnknown 인터페이스를 반환합니다.
Public method Static GetIUnknownForObjectInContext 호출자가 관리되는 개체와 같은 컨텍스트에 있는 경우 해당 개체에서 IUnknown 인터페이스를 반환합니다.
Public method Static Supported by the .NET Compact Framework GetLastWin32Error DllImportAttribute.SetLastError 플래그가 설정된 플랫폼 호출을 사용하여 호출되는, 관리되지 않는 마지막 함수에서 반환하는 오류 코드를 반환합니다.
Public method Static GetManagedThunkForUnmanagedMethodPtr 관리 코드에서 비관리 코드로 호출을 마샬링하는 썽크에 대한 포인터를 가져옵니다.
Public method Static GetMethodInfoForComSlot 지정된 VTBL(가상 함수 테이블) 슬롯에 대한 MethodInfo를 검색합니다.
Public method Static Supported by the .NET Compact Framework GetNativeVariantForObject 개체를 COM VARIANT로 변환합니다.
Public method Static Supported by the .NET Compact Framework GetObjectForIUnknown IUnknown 인터페이스에 대한 포인터를 사용하여 COM 개체를 나타내는 형식의 인스턴스를 반환합니다.
Public method Static Supported by the .NET Compact Framework GetObjectForNativeVariant COM VARIANT를 개체로 변환합니다.
Public method Static GetObjectsForNativeVariants COM VARIANT의 배열을 개체 배열로 변환합니다.
Public method Static GetStartComSlot 사용자 정의된 메서드가 있는 VTBL(가상 함수 테이블)의 첫 번째 슬롯을 가져옵니다.
Public method Static GetThreadFromFiberCookie 파이버 쿠키를 해당 System.Threading.Thread 인스턴스로 변환합니다.
Public method Supported by the .NET Compact Framework GetType  현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public method Static Supported by the .NET Compact Framework GetTypedObjectForIUnknown COM 개체를 나타내는 지정된 형식의 관리되는 개체를 반환합니다.
Public method Static GetTypeForITypeInfo ITypeInfo를 관리되는 Type 개체로 변환합니다.
Public method Static GetTypeInfoName 오버로드되었습니다. ITypeInfo가 나타내는 형식의 이름을 검색합니다.
Public method Static GetTypeLibGuid 오버로드되었습니다. 형식 라이브러리의 LIBID(라이브러리 식별자)를 검색합니다.
Public method Static GetTypeLibGuidForAssembly 지정된 어셈블리에서 내보낼 때 형식 라이브러리에 할당되는 LIBID(라이브러리 식별자)를 검색합니다.
Public method Static GetTypeLibLcid 오버로드되었습니다. 형식 라이브러리의 LCID를 검색합니다.
Public method Static GetTypeLibName 오버로드되었습니다. 형식 라이브러리의 이름을 검색합니다.
Public method Static GetTypeLibVersionForAssembly 지정된 어셈블리에서 내보낼 형식 라이브러리의 버전 번호를 검색합니다.
Public method Static GetUniqueObjectForIUnknown 지정된 IUnknown에 대해 고유한 RCW(런타임 호출 가능 래퍼) 개체를 만듭니다.
Public method Static GetUnmanagedThunkForManagedMethodPtr 비관리 코드에서 관리 코드로 호출을 마샬링하는 썽크에 대한 포인터를 가져옵니다.
Public method Static Supported by the .NET Compact Framework IsComObject 지정된 개체가 COM 개체를 나타낼지 여부를 나타냅니다.
Public method Static Supported by the .NET Compact Framework IsTypeVisibleFromCom 형식이 COM 클라이언트에 표시되는지 여부를 나타냅니다.
Public method Static NumParamBytes 지정된 메서드에 대한 매개 변수를 포함하는 데 필요한 관리되지 않는 메모리의 바이트 수를 계산합니다.
Public method Static OffsetOf 관리되는 클래스의 관리되지 않는 형식의 필드 오프셋을 반환합니다.
Public method Static Supported by the .NET Compact Framework Prelink 메서드를 호출하지 않고 메서드 설정 작업을 한 번에 실행합니다.
Public method Static Supported by the .NET Compact Framework PrelinkAll 클래스의 모든 메서드에 대해 링크 전 검사를 수행합니다.
Public method Static PtrToStringAnsi 오버로드되었습니다. 관리되는 String을 할당하고 관리되지 않는 ANSI 문자열의 전체 또는 일부를 해당 개체로 복사합니다.
Public method Static PtrToStringAuto 오버로드되었습니다. 관리되는 String을 할당하고 관리되지 않는 문자열의 지정된 문자 수를 그 안에 복사합니다.
Public method Static Supported by the .NET Compact Framework PtrToStringBSTR 관리되는 String을 할당하고 관리되지 않는 메모리에 저장된 BSTR 문자열을 해당 개체로 복사합니다.
Public method Static Supported by the .NET Compact Framework PtrToStringUni 오버로드되었습니다. 관리되는 String을 할당하고 관리되지 않는 유니코드 문자열의 지정된 문자 수를 그 안에 복사합니다.
Public method Static Supported by the .NET Compact Framework PtrToStructure 오버로드되었습니다. 관리되지 않는 메모리 블록의 데이터를 관리되는 개체로 마샬링합니다.
Public method Static Supported by the .NET Compact Framework QueryInterface COM 개체에서 지정된 인터페이스에 대한 포인터를 요청합니다.
Public method Static Supported by the .NET Compact Framework ReadByte 오버로드되었습니다. 관리되지 않는 포인터에서 단일 바이트를 읽습니다.
Public method Static Supported by the .NET Compact Framework ReadInt16 오버로드되었습니다. 관리되지 않는 메모리에서 16비트 부호 있는 정수를 읽습니다.
Public method Static Supported by the .NET Compact Framework ReadInt32 오버로드되었습니다. 관리되지 않는 메모리에서 32비트 부호 있는 정수를 읽습니다.
Public method Static Supported by the .NET Compact Framework ReadInt64 오버로드되었습니다. 관리되지 않는 메모리에서 64비트 부호 있는 정수를 읽습니다.
Public method Static Supported by the .NET Compact Framework ReadIntPtr 오버로드되었습니다. 관리되지 않는 메모리에서 프로세서의 기본 크기로 지정된 정수를 읽습니다.
Public method Static Supported by the .NET Compact Framework ReAllocCoTaskMem AllocCoTaskMem을 사용하여 이전에 할당된 메모리 블록 크기를 조정합니다.
Public method Static ReAllocHGlobal AllocHGlobal을 사용하여 이전에 할당된 메모리 블록 크기를 조정합니다.
Public method Static Supported by the .NET Compact Framework ReferenceEquals  지정한 Object 인스턴스가 동일한지 여부를 확인합니다. (Object에서 상속됨)
Public method Static Supported by the .NET Compact Framework Release 지정된 인터페이스의 참조 횟수를 감소시킵니다.
Public method Static Supported by the .NET Compact Framework ReleaseComObject 제공된 런타임 호출 가능 래퍼의 참조 횟수를 감소시킵니다.
Public method Static ReleaseThreadCache 스레드 캐시를 해제합니다.
Public method Static SecureStringToBSTR BSTR를 할당하고 관리되는 SecureString 개체의 내용을 BSTR에 복사합니다.
Public method Static SecureStringToCoTaskMemAnsi 관리되는 SecureString 개체의 내용을 관리되지 않는 COM 작업 할당자에서 할당한 메모리 블록에 복사합니다.
Public method Static SecureStringToCoTaskMemUnicode 관리되는 SecureString 개체의 내용을 관리되지 않는 COM 작업 할당자에서 할당한 메모리 블록에 복사합니다.
Public method Static SecureStringToGlobalAllocAnsi 복사할 때 ANSI 형식으로 변환하여 관리되는 SecureString의 내용을 관리되지 않는 메모리로 복사합니다.
Public method Static SecureStringToGlobalAllocUnicode 관리되는 SecureString의 내용을 관리되지 않는 메모리로 복사합니다.
Public method Static SetComObjectData 지정된 COM 개체에서 지정된 키가 참조하는 데이터를 설정합니다.
Public method Static Supported by the .NET Compact Framework SizeOf 오버로드되었습니다. Marshal을 사용하여 클래스의 관리되지 않는 크기(바이트)를 반환합니다.
Public method Static Supported by the .NET Compact Framework StringToBSTR BSTR를 할당하고 관리되는 String의 내용을 그 안에 복사합니다.
Public method Static StringToCoTaskMemAnsi 관리되는 String의 내용을 관리되지 않는 COM 작업 할당자에서 할당된 메모리 블록으로 복사합니다.
Public method Static StringToCoTaskMemAuto 관리되는 String의 내용을 관리되지 않는 COM 작업 할당자에서 할당된 메모리 블록으로 복사합니다.
Public method Static StringToCoTaskMemUni 관리되는 String의 내용을 관리되지 않는 COM 작업 할당자에서 할당된 메모리 블록으로 복사합니다.
Public method Static StringToHGlobalAnsi 복사할 때 ANSI 형식으로 변환하여 관리되는 String의 내용을 관리되지 않는 메모리로 복사합니다.
Public method Static StringToHGlobalAuto 필요할 때 ANSI 형식으로 변환하여 관리되는 String의 내용을 관리되지 않는 메모리로 복사합니다.
Public method Static StringToHGlobalUni 관리되는 String의 내용을 관리되지 않는 메모리로 복사합니다.
Public method Static Supported by the .NET Compact Framework StructureToPtr 관리되는 개체의 데이터를 관리되지 않는 메모리 블록으로 마샬링합니다.
Public method Static Supported by the .NET Compact Framework ThrowExceptionForHR 오버로드되었습니다. 오류가 있는 특정 HRESULT 값을 사용하여 예외를 throw합니다.
Public method Supported by the .NET Compact Framework ToString  현재 Object를 나타내는 String을 반환합니다. (Object에서 상속됨)
Public method Static UnsafeAddrOfPinnedArrayElement 지정된 배열의 지정된 인덱스에 있는 요소의 주소를 가져옵니다.
Public method Static Supported by the .NET Compact Framework WriteByte 오버로드되었습니다. 관리되지 않는 메모리에 단일 바이트 값을 씁니다.
Public method Static Supported by the .NET Compact Framework WriteInt16 오버로드되었습니다. 관리되지 않는 메모리에 부호 있는 16비트 정수 값을 씁니다.
Public method Static Supported by the .NET Compact Framework WriteInt32 오버로드되었습니다. 관리되지 않는 메모리에 부호 있는 32비트 정수 값을 씁니다.
Public method Static WriteInt64 오버로드되었습니다. 관리되지 않는 메모리에 부호 있는 64비트 정수 값을 씁니다.
Public method Static Supported by the .NET Compact Framework WriteIntPtr 오버로드되었습니다. 관리되지 않는 메모리에 프로세서의 기본 크기로 지정된 정수 값을 씁니다.
Public method Static ZeroFreeBSTR SecureStringToBSTR 메서드를 사용하여 할당된 BSTR 포인터를 해제합니다.
Public method Static ZeroFreeCoTaskMemAnsi SecureStringToCoTaskMemAnsi 메서드를 사용하여 할당한 관리되지 않는 문자열 포인터를 해제합니다.
Public method Static ZeroFreeCoTaskMemUnicode SecureStringToCoTaskMemUnicode 메서드를 사용하여 할당한 관리되지 않는 문자열 포인터를 해제합니다.
Public method Static ZeroFreeGlobalAllocAnsi SecureStringToGlobalAllocAnsi 메서드를 사용하여 할당한 관리되지 않는 문자열 포인터를 해제합니다.
Public method Static ZeroFreeGlobalAllocUnicode SecureStringToCoTaskMemUnicode 메서드를 사용하여 할당한 관리되지 않는 문자열 포인터를 해제합니다.

위쪽

참고 항목

참조

Marshal 클래스
System.Runtime.InteropServices 네임스페이스