Hi,

I thought it's a bit odd to create an "island" with missing values in between. I think some of these might in fact become useful in the future like RO_E_CLOSED (likely IClosable) or the async operation not started value.

Bernhard��

R��mi Bernon <rbernon@codeweavers.com> schrieb am Fr., 1. Apr. 2022, 10:47:
Hi Bernhard,

On 3/31/22 18:17, Bernhard K��lbl wrote:
> Taken from MSDN and original winerror.h.
>
> Signed-off-by: Bernhard K��lbl <besentv@gmail.com>
> ---
>�� ��include/winerror.h | 19 +++++++++++++++++++
>�� ��1 file changed, 19 insertions(+)
>
> diff --git a/include/winerror.h b/include/winerror.h
> index b63b74a5b18..d51d5648cdb 100644
> --- a/include/winerror.h
> +++ b/include/winerror.h
> @@ -2578,6 +2578,25 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x)
>�� ��#define E_CHANGED_STATE�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x8000000C)
>�� ��#define E_ILLEGAL_STATE_CHANGE�� �� �� �� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x8000000D)
>�� ��#define E_ILLEGAL_METHOD_CALL�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x8000000E)
> +#define RO_E_METADATA_NAME_NOT_FOUND�� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x8000000F)
> +#define RO_E_METADATA_NAME_IS_NAMESPACE�� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80000010)
> +#define RO_E_METADATA_INVALID_TYPE_FORMAT�� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80000011)
> +#define RO_E_INVALID_METADATA_FILE�� �� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x80000012)
> +#define RO_E_CLOSED�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80000013)
> +#define RO_E_EXCLUSIVE_WRITE�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x80000014)
> +#define RO_E_CHANGE_NOTIFICATION_IN_PROGRESS�� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x80000015)
> +#define RO_E_ERROR_STRING_NOT_FOUND�� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80000016)
> +#define E_STRING_NOT_NULL_TERMINATED�� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x80000017)
> +#define E_ILLEGAL_DELEGATE_ASSIGNMENT�� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80000018)
> +#define E_ASYNC_OPERATION_NOT_STARTED�� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80000019)
> +#define E_APPLICATION_EXITING�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x8000001A)
> +#define E_APPLICATION_VIEW_EXITING�� �� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x8000001B)
> +#define RO_E_MUST_BE_AGILE�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x8000001C)
> +#define RO_E_UNSUPPORTED_FROM_MTA�� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x8000001D)
> +#define RO_E_COMMITTED�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x8000001E)
> +#define RO_E_BLOCKED_CROSS_ASTA_CALL�� �� �� �� �� �� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x8000001F)
> +#define RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER�� �� �� �� �� �� ��_HRESULT_TYPEDEF_(0x80000020)
> +#define RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER�� _HRESULT_TYPEDEF_(0x80000021)
>�� ��
>�� ��#define E_NOTIMPL�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80004001)
>�� ��#define E_NOINTERFACE�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� _HRESULT_TYPEDEF_(0x80004002)


I'm not completely sure what's the policy about this but it looks like
you only need E_ILLEGAL_DELEGATE_ASSIGNMENT after all.

Most of these error seem very specific to MS implementation, I don't
know if they will be very useful to add?
--
R��mi Bernon <rbernon@codeweavers.com>