Dil

Marshal.ThrowExceptionForHR Yöntem

Tanım

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

Aşırı Yüklemeler

Name Description
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, Guid, IntPtr)

ThrowExceptionForHR(Int32)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
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ı hata 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 bilgiler almaya çalışır.

her HRESULT'tan .NET Framework'teki karşılaştırılabilir özel durum sınıfına eşleme için bkz. H 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
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);
public static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
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 arabirimine yönelik bir işaretçi. Geçerli IntPtr(0) arabirimini kullanmayı veya geçerli IntPtr(-1) arabirimini yoksayıp özel durumu yalnızca hata kodundan oluşturmayı belirtebilirsiniz.

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, errorInfo arabiriminin COM başvuru sayısını azaltarak parametresini serbest bırakır.

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ı hata 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'teki karşılaştırılabilir özel durum sınıfına eşleme için bkz. H nasıl yapılır: HRESULTs ve Özel Durumları Eşleme.

Ayrıca bkz.

Şunlara uygulanır

ThrowExceptionForHR(Int32, Guid, IntPtr)

Kaynak:
Marshal.cs
Kaynak:
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)

Parametreler

errorCode
Int32
iid
Guid
pUnk
IntPtr

nativeint

Şunlara uygulanır