Marshal.ThrowExceptionForHR Yöntem

Tanım

Belirli bir hata HRESULT değeriyle bir özel durum oluşturur.

Aşırı Yüklemeler

ThrowExceptionForHR(Int32)

Belirli bir hata HRESULT değeriyle bir özel durum oluşturur.

ThrowExceptionForHR(Int32, IntPtr)

Belirtilen IErrorInfo arabirimini temel alarak belirli bir hata HRESULT ile bir özel durum oluşturur.

ThrowExceptionForHR(Int32)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
Kaynak:
Marshal.cs

Belirli bir hata HRESULT değeriyle bir özel durum oluşturur.

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)

Parametreler

errorCode
Int32

İstenen özel duruma karşılık gelen HRESULT.

Öznitelikler

Açıklamalar

Bu yöntem, belirtilen hata HRESULT için bir özel durum nesnesi oluşturur. HRESULT 0 veya pozitifse (başarı kodu), yöntem bir özel durum oluşturmadan veya oluşturmadan döndürür.

Yöntemin ThrowExceptionForHR(Int32) , ayarlanmışsa geçerli iş parçacığının IErrorInfo arabirimini temel alan bir özel durum döndürdüğünü unutmayın. Bu durumda parametresi errorCode yoksayılır.

Bazı hatalar HRESULTs tanımlı özel durumlarla eşlenirken diğerleri eşlenmez. HRESULT tanımlı bir özel durumla eşlenirse, ThrowExceptionForHR özel durumun bir örneğini oluşturur ve oluşturur. Aksi takdirde, bir örneği COMExceptionoluşturur, hata kodu alanını HRESULT ile başlatır ve bu özel durumu oluşturur. Çağrıldığında ThrowExceptionForHR , yönetilmeyen GetErrorInfo işlevini kullanarak hatayla ilgili ek bilgileri almaya çalışır.

her HRESULT'tan .NET Framework karşılaştırılabilir özel durum sınıfına eşleme için bkz. Nasıl yapılır: HRESULTs ve Özel Durumları Eşleme.

Bazen, ThrowExceptionForHR önceki bir COM çağrısından bir özel durum döndürebilir. Bu durumda, aşağıdaki geçici çözümü kullanabilir ve ikinci parametre olarak geçirebilirsiniz IntPtr(-1) (errorInfo):

public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)

Ayrıca bkz.

Şunlara uygulanır

ThrowExceptionForHR(Int32, IntPtr)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
Kaynak:
Marshal.cs

Belirtilen IErrorInfo arabirimini temel alarak belirli bir hata HRESULT ile bir özel durum oluşturur.

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)

Parametreler

errorCode
Int32

İstenen özel duruma karşılık gelen HRESULT.

errorInfo
IntPtr

nativeint

Hata hakkında daha fazla bilgi sağlayan IErrorInfo arabiriminin işaretçisi. Geçerli IErrorInfo arabirimini kullanmayı veya IntPtr(-1) geçerli IErrorInfo arabirimini yoksaymayı ve özel durumu yalnızca hata kodundan oluşturmayı belirtebilirsinizIntPtr(0).

Öznitelikler

Açıklamalar

Bu yöntem, belirtilen hata HRESULT için bir özel durum nesnesi oluşturur. HRESULT 0 veya pozitifse (başarı kodu), yöntem bir özel durum oluşturmadan veya oluşturmadan döndürür.

ThrowExceptionForHR yöntemi, IErrorInfo arabiriminin COM başvuru sayısını azaltarak parametresini serbest bırakırerrorInfo.

Yöntemin ThrowExceptionForHR , ayarlanmışsa geçerli iş parçacığının IErrorInfo arabirimini temel alan bir özel durum döndürdüğünü unutmayın. Bu durumda parametresi errorCode yoksayılır.

Bazı hatalar HRESULTs tanımlı özel durumlarla eşlenirken diğerleri eşlenmez. HRESULT tanımlı bir özel durumla eşlenirse, ThrowExceptionForHR özel durumun bir örneğini oluşturur ve oluşturur. Aksi takdirde, bir örneği System.Runtime.InteropServices.COMExceptionoluşturur, hata kodu alanını HRESULT ile başlatır ve bu özel durumu oluşturur. errorInfo parametresi hatayla ilgili ek bilgileri almak için kullanılır.

her HRESULT'tan .NET Framework karşılaştırılabilir özel durum sınıfına eşleme için bkz. Nasıl yapılır: HRESULTs ve Özel Durumları Eşleme.

Ayrıca bkz.

Şunlara uygulanır