COM Birlikte Çalışması Özel Durumlarını İşleme

Yönetilen ve yönetilmeyen kod, özel durumları işlemek için birlikte çalışabilir. Bir yöntem yönetilen kodda bir özel durum oluşturursa, ortak dil çalışma zamanı BIR HRESULT'yi COM nesnesine geçirebilir. Bir yöntem bir hata HRESULT döndürerek yönetilmeyen kodda başarısız olursa, çalışma zamanı yönetilen kod tarafından yakalanabilecek bir özel durum oluşturur.

Çalışma zamanı, HRESULT'ı COM birlikte çalışmasından daha belirli özel durumlara otomatik olarak eşler. Örneğin, E_ACCESSDENIED olur UnauthorizedAccessException, E_OUTOFMEMORY olur, vb. olur OutOfMemoryException.

HRESULT özel bir sonuçsa veya çalışma zamanı bilinmiyorsa, çalışma zamanı istemciye genel COMException bir geçirir. COMException'ın ErrorCode özelliği HRESULT değerini içerir.

IErrorInfo ile çalışma

COM'dan yönetilen koda bir hata geçirildiğinde, çalışma zamanı özel durum nesnesini hata bilgileriyle doldurur. IErrorInfo destekleyen ve HRESULTS döndüren COM nesneleri, yönetilen kod özel durumlarına bu bilgileri sağlar. Örneğin, çalışma zamanı COM hatasından Açıklama'yı özel durumun Message özelliğine eşler. HRESULT ek hata bilgisi sağlamazsa, çalışma zamanı özel durumun özelliklerinin çoğunu varsayılan değerlerle doldurur.

Yönetilmeyen kodda bir yöntem başarısız olursa yönetilen kod kesimine özel durum geçirilebilir. HRESULTS ve Özel Durumlar konusu, HRESULTS'un çalışma zamanı özel durum nesneleriyle nasıl eşlenir gösteren bir tablo içerir.

Ayrıca bkz.