Marshal.ThrowExceptionForHR 메서드

정의

특정 오류 HRESULT 값으로 예외를 throw합니다.

오버로드

Name Description
ThrowExceptionForHR(Int32)

특정 오류 HRESULT 값으로 예외를 throw합니다.

ThrowExceptionForHR(Int32, IntPtr)

지정된 IErrorInfo 인터페이스에 따라 특정 오류 HRESULT를 사용하여 예외를 throw합니다.

ThrowExceptionForHR(Int32, Guid, IntPtr)

ThrowExceptionForHR(Int32)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

특정 오류 HRESULT 값으로 예외를 throw합니다.

public:
 static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR(int errorCode);
public static void ThrowExceptionForHR(int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)

매개 변수

errorCode
Int32

원하는 예외에 해당하는 HRESULT입니다.

특성

설명

이 메서드는 지정된 오류 HRESULT에 대한 예외 개체를 만듭니다. HRESULT가 0 또는 양수(성공 코드)이면 예외를 만들거나 throw하지 않고 메서드가 반환됩니다.

이 메서드는 ThrowExceptionForHR(Int32) 설정된 경우 현재 스레드의 IErrorInfo 인터페이스를 기반으로 예외를 반환합니다. 이 경우 매개 변수는 errorCode 무시됩니다.

일부 오류 HRESULT는 정의된 예외에 매핑되는 반면 다른 오류는 그렇지 않습니다. HRESULT가 정의된 예외에 매핑되는 경우 예외 ThrowExceptionForHR 의 인스턴스를 만들어 throw합니다. 그렇지 않으면 인스턴스 COMException를 만들고, HRESULT를 사용하여 오류 코드 필드를 초기화하고, 해당 예외를 throw합니다. ThrowExceptionForHR 호출되면 관리되지 않는 GetErrorInfo 함수를 사용하여 오류에 대한 추가 정보를 검색하려고 시도합니다.

각 HRESULT에서 .NET Framework의 비교 가능한 예외 클래스로 매핑하는 방법은 방법: HRESULT 및 예외 매핑 참조하세요.

경우에 따라 ThrowExceptionForHR 이전 COM 호출에서 예외를 반환할 수 있습니다. 이 경우 다음 해결 방법을 사용하여 두 번째 매개 변수(IntPtr(-1))로 전달할 errorInfo 수 있습니다.

public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

추가 정보

적용 대상

ThrowExceptionForHR(Int32, IntPtr)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

지정된 IErrorInfo 인터페이스에 따라 특정 오류 HRESULT를 사용하여 예외를 throw합니다.

public:
 static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
public static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int * nativeint -> unit
static member ThrowExceptionForHR : int * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, errorInfo As IntPtr)

매개 변수

errorCode
Int32

원하는 예외에 해당하는 HRESULT입니다.

errorInfo
IntPtr

nativeint

오류에 대한 자세한 정보를 제공하는 IErrorInfo 인터페이스에 대한 포인터입니다. 현재 IntPtr(0) 인터페이스를 사용하거나 현재 IntPtr(-1) 인터페이스를 무시하고 오류 코드에서만 예외를 생성하도록 지정할 수 있습니다.

특성

설명

이 메서드는 지정된 오류 HRESULT에 대한 예외 개체를 만듭니다. HRESULT가 0 또는 양수(성공 코드)이면 예외를 만들거나 throw하지 않고 메서드가 반환됩니다.

이 메서드는 ThrowExceptionForHR 매개 변수를 errorInfo 해제하여 IErrorInfo 인터페이스의 COM 참조 수를 줄입니다.

이 메서드는 ThrowExceptionForHR 설정된 경우 현재 스레드의 IErrorInfo 인터페이스를 기반으로 예외를 반환합니다. 이 경우 매개 변수는 errorCode 무시됩니다.

일부 오류 HRESULT는 정의된 예외에 매핑되는 반면 다른 오류는 그렇지 않습니다. HRESULT가 정의된 예외에 매핑되는 경우 예외 ThrowExceptionForHR 의 인스턴스를 만들어 throw합니다. 그렇지 않으면 인스턴스 System.Runtime.InteropServices.COMException를 만들고, HRESULT를 사용하여 오류 코드 필드를 초기화하고, 해당 예외를 throw합니다. 매개 errorInfo 변수는 오류에 대한 추가 정보를 검색하는 데 사용됩니다.

각 HRESULT에서 .NET Framework의 비교 가능한 예외 클래스로 매핑하는 방법은 방법: HRESULT 및 예외 매핑 참조하세요.

추가 정보

적용 대상

ThrowExceptionForHR(Int32, Guid, IntPtr)

Source:
Marshal.cs
Source:
Marshal.cs
public:
 static void ThrowExceptionForHR(int errorCode, Guid % iid, IntPtr pUnk);
public static void ThrowExceptionForHR(int errorCode, in Guid iid, IntPtr pUnk);
static member ThrowExceptionForHR : int * Guid * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, ByRef iid As Guid, pUnk As IntPtr)

매개 변수

errorCode
Int32
iid
Guid
pUnk
IntPtr

nativeint

적용 대상