tag constantes c# .net com .net-4.0 com-interop

c# - constantes - ¿.NET define valores comunes de HRESULT?



constantes c# (1)

Sí, .NET predefine los valores de HRESULT. Los usa al no ayudar, arroje una excepción .NET estándar tal como lo haría si un programa administrado usa su biblioteca. El valor de la propiedad HResult de la excepción a veces coincide con un valor HRESULT común si la coincidencia es obvia (como OutOfMemoryException == 0x800700E), en general un valor de 0x8013xxxx.

Los valores xxxx están ampliamente documentados y listados en el archivo de encabezado SDK CorError.h. IErrorInfo :: GetDescription () le proporciona el valor de la propiedad Mensaje de la excepción. Automáticamente localizado, agradable. No puedes obtener el rastro de pila sagrada.

Esta pregunta ya tiene una respuesta aquí:

Estoy creando una clase COM en C #, que se llamará desde C ++ no administrado. Quiero usar ThrowExceptionForHR, pero prefiero no tener que codificar los valores numéricos de HRESULT.

¿Esperaba que hubiera alguna enumeración de valores HRESULT comunes en .Net en alguna parte?

Dicho de otra manera, ¿dónde puedo encontrar los símbolos con nombre que se asignan a los valores HRESULT para pasar a ThrowExceptionForHR ?

Actualizar:

MS hable de ello en esta página: información de HRESULT en código administrado . Hacen referencia a la clase VSConstants Microsoft.VisualStudio.VSConstants pero cuando intento usar esto, afirma que el espacio de nombres no existe.