Marshal.ThrowExceptionForHR 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오류가 있는 특정 HRESULT 값을 사용하여 예외를 throw합니다.
오버로드
ThrowExceptionForHR(Int32) |
오류가 있는 특정 HRESULT 값을 사용하여 예외를 throw합니다. |
ThrowExceptionForHR(Int32, IntPtr) |
지정된 IErrorInfo 인터페이스에 따라 특정 오류 HRESULT가 포함된 예외를 발생시킵니다. |
ThrowExceptionForHR(Int32)
- 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 호출에서 예외를 반환할 수 있습니다. 이 경우 다음 해결 방법을 사용하고 두 번째 매개 변수()errorInfo
로 전달할 IntPtr(-1)
수 있습니다.
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
추가 정보
적용 대상
ThrowExceptionForHR(Int32, IntPtr)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
지정된 IErrorInfo 인터페이스에 따라 특정 오류 HRESULT가 포함된 예외를 발생시킵니다.
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)
IErrorInfo 인터페이스를 사용하려면 을 지정하고, 현재 IntPtr(-1)
IErrorInfo 인터페이스를 무시하고 오류 코드에서만 예외를 생성하려면 을 지정합니다.
- 특성
설명
이 메서드는 지정된 오류 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 및 예외 매핑을 참조하세요.
추가 정보
적용 대상
.NET