Marshal.GetHRForException(Exception) 메서드

정의

지정된 예외를 HRESULT로 변환합니다.Converts the specified exception to an HRESULT.

public:
 static int GetHRForException(Exception ^ e);
[System.Security.SecurityCritical]
public static int GetHRForException (Exception e);
public static int GetHRForException (Exception? e);
public static int GetHRForException (Exception e);
[<System.Security.SecurityCritical>]
static member GetHRForException : Exception -> int
static member GetHRForException : Exception -> int
Public Shared Function GetHRForException (e As Exception) As Integer

매개 변수

e
Exception

HRESULT로 변환할 예외입니다.The exception to convert to an HRESULT.

반환

Int32

해당 예외로 매핑되는 HRESULT입니다.The HRESULT mapped to the supplied exception.

특성

설명

GetHRForException 또한 COM GetErrorInfoNEEDGUID 함수를 호출 하 여 얻을 수 있는 예외에 대 한 IErrorInfo 인터페이스를 설정 합니다.GetHRForException also sets up an IErrorInfo interface for the exception that can be obtained by calling the COM GetErrorInfoNEEDGUID function. 이 함수를 사용 하 여 특성을 적용 하는 COM 인터페이스의 관리 되는 클래스 구현에서 HRESULT 값을 반환할 수 있습니다 PreserveSigAttribute .You can use this function to return an HRESULT value on a managed class implementation of a COM interface where you apply the PreserveSigAttribute attribute. 특성 사용 메서드를 사용 하 여 모든 예외를 catch 하 고 메서드를 사용 GetHRForException 하 여 적절 한 HRESULT 값을 반환 합니다.Have the attributed method catch all exceptions and use the GetHRForException method to return the appropriate HRESULT value. 예외를 메서드 외부에서 전파 하도록 허용 하면 잘못 된 동작이 생성 됩니다.Allowing an exception to propagate outside the method produces incorrect behavior. 실제로 공용 언어 런타임에서는 v-table을 통해 이러한 메서드를 호출 하는 COM 클라이언트에 예외를 전달 하지 못합니다.(In fact, the common language runtime fails to pass an exception to a COM client that calls such a method through a v-table.)

GetHRForException메서드는 현재 스레드의 IErrorInfo 인터페이스를 설정 합니다.Note that the GetHRForException method sets the IErrorInfo interface of the current thread. 이로 인해 ThrowExceptionForHR 현재 스레드의 IErrorInfo (설정 된 경우)를 사용 하는 메서드와 같은 메서드에 대 한 예기치 않은 결과가 발생할 수 있습니다.This can cause unexpected results for methods like the ThrowExceptionForHR methods that default to using the IErrorInfo of the current thread if it is set.

적용 대상

추가 정보