다음을 통해 공유


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 마샬링됩니다. 여기서 개체 형식은 의 VARIANT값을 결정합니다VARTYPE.

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

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

관리되는 서명 매개 변수 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_ERROR자세한 내용은 MSDN 라이브러리의 에 대한 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)

적용 대상