Marshal.ThrowExceptionForHR 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
특정 오류 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