Aracılığıyla paylaş


Marshal.GetHRForException(Exception) Yöntem

Tanım

Belirtilen özel durumu HRESULT'a dönüştürür.

public:
 static int GetHRForException(Exception ^ e);
[System.Security.SecurityCritical]
public static int GetHRForException (Exception e);
public static int GetHRForException (Exception? e);
public static int GetHRForException (Exception e);
[<System.Security.SecurityCritical>]
static member GetHRForException : Exception -> int
static member GetHRForException : Exception -> int
Public Shared Function GetHRForException (e As Exception) As Integer

Parametreler

e
Exception

HRESULT'a dönüştürülecek özel durum.

Döndürülenler

Sağlanan özel durumla eşlenen HRESULT.

Öznitelikler

Açıklamalar

GetHRForException ayrıca, COM GetErrorInfoNEEDGUID işlevi çağrılarak elde edilebilecek özel durum için bir IErrorInfo arabirimi ayarlar. Özniteliğini uyguladığınız COM arabiriminin yönetilen sınıf uygulamasında HRESULT değeri döndürmek PreserveSigAttribute için bu işlevi kullanabilirsiniz. Öznitelikli yöntemin tüm özel durumları yakalamasını sağlayın ve uygun HRESULT değerini döndürmek için yöntemini kullanın GetHRForException . Bir özel durumun yöntemin dışına yayılmasına izin vermek yanlış davranış üretir. (Aslında ortak dil çalışma zamanı, bir v-table aracılığıyla böyle bir yöntemi çağıran bir COM istemcisine özel durum geçiremiyor.)

yönteminin GetHRForException geçerli iş parçacığının IErrorInfo arabirimini ayarlandığını unutmayın. Bu, varsayılan olarak ayarlanmışsa geçerli iş parçacığının ThrowExceptionForHRIErrorInfo'sunu kullanan yöntemler gibi yöntemler için beklenmeyen sonuçlara neden olabilir.

Şunlara uygulanır

Ayrıca bkz.