ErrorWrapper 클래스

정의

주의

ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.

마샬러가 VT_ERROR으로 마샬링할 개체를 래핑합니다.

public ref class ErrorWrapper sealed
[System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")]
public sealed class ErrorWrapper
public sealed class ErrorWrapper
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ErrorWrapper
[<System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")>]
type ErrorWrapper = class
type ErrorWrapper = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ErrorWrapper = class
Public NotInheritable Class ErrorWrapper
상속
ErrorWrapper
특성

예제

다음 코드 예제에서는 먼저 COM에서 개체로 다시 마샬링된 고독 Int32 한 개체를 Int32 보여 줍니다. 그런 다음 COM에서 배열로 다시 마샬링된 배열을 UInt32 보여 Int32 줍니다.

// Scenario 1:  
// Pass a single value.  
Int32 x = 3;  
Object o = new ErrorWrapper(x);  
// Pass 'o' to COM.  
// On the return trip, 'o' has been unwrapped and is still an Int32 object.  
Int32 y = (Int32)o;  
Scenario 2:  
// Pass an array of values.  
Int32[] arr = new Int32[3];  
Object o = new ErrorWrapper(arr);  
// Pass 'o' to COM.  
// On the return trip, 'o' has been unwrapped and is now a UInt32[] array.  
UInt32[ ] arr2 = (UInt32[])o;  

설명

기본적으로 Object 형식 인수는 형식으로 VARIANT 마샬링됩니다. 여기서 개체 형식에 따라 값이 VARTYPE VARIANT결정됩니다.

형식을 ErrorWrapper 형식으로 마샬링할 형식으로 Object VARIANT 전달해야 합니다. 그렇지 않으면 ErrorWrapper 형식VT_ERROR이 정수로 마샬링됩니다.

다음 표에서는 플랫폼 호출을 사용하여 네이티브 함수에 대한 관리형 호출에서 마샬링을 보여 줍니다.

관리되는 서명 매개 변수 pArr 값 다음으로 마샬링됨
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) VT_ERRORVARIANT[10]
Object[] pArr Object[10] of ErrorWrapper(77) VT_ERRORVARIANT[10]

다음 표에서는 COM 런타임 호출 가능 래퍼(RCW)를 사용하여 네이티브 함수에 대한 관리형 호출에서 데이터를 마샬링하는 방법을 보여 줍니다.

관리되는 서명 매개 변수 pArr 값 다음으로 마샬링됨
ErrorWrapper[] pArr ErrorWrapper[10] of ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] of ErrorWrapper(77) SafeArrayTypeMismatch 예외
Object[] pArr Object[10] of ErrorWrapper(77) SAFEARRAY(VARIANT)

ErrorWrapper COM에서 다시 전달된 후에는 개체가 형식 VT_ERROR 으로 마샬링되지 않습니다. 단일 값은 COM에서 형식 VT_I4으로 다시 마샬링되고 배열은 COM에서 형식 VT_UI4으로 다시 마샬링됩니다.

자세한 내용은 VT_ERRORMSDN 라이브러리의 기존 설명서를 VARENUM::VT_ERROR 참조하세요.

생성자

ErrorWrapper(Exception)

제공된 예외에 해당하는 HRESULT를 사용하여 ErrorWrapper 클래스의 새 인스턴스를 초기화합니다.

ErrorWrapper(Int32)

오류의 HRESULT를 사용하여 ErrorWrapper 클래스의 새 인스턴스를 초기화합니다.

ErrorWrapper(Object)

오류의 HRESULT가 들어 있는 개체를 사용하여 ErrorWrapper 클래스의 새 인스턴스를 초기화합니다.

속성

ErrorCode

래퍼의 오류 코드를 가져옵니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상