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