1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5#include <corerror.h>
6#include <winerror.h>
7
8// Index into heap/table is too large.
9#define METADATA_E_INDEX_NOTFOUND CLDB_E_INDEX_NOTFOUND
10 // Options:
11 // * CLDB_E_INDEX_NOTFOUND
12 // * VLDTR_E_BLOB_INVALID
13 // * VLDTR_E_GUID_INVALID
14 // * VLDTR_E_STRING_INVALID
15 // * VLDTR_E_RID_OUTOFRANGE
16
17// Internal error, it's a runtime assert check to avoid security errors. If this is returned, then there's
18// something wrong with MetaData code.
19#define METADATA_E_INTERNAL_ERROR CLDB_E_INTERNALERROR
20 // Options:
21 // * CLDB_E_INTERNALERROR
22 // * COR_E_EXECUTIONENGINE
23
24// MetaData space (heap/table) is full, cannot store more items.
25#define METADATA_E_HEAP_FULL META_E_STRINGSPACE_FULL
26 // Options:
27 // * META_E_STRINGSPACE_FULL
28 // * CLDB_E_TOO_BIG
29
30// Invalid heap (blob, user string) data encoding.
31#define METADATA_E_INVALID_HEAP_DATA META_E_BADMETADATA
32 // Options:
33 // * META_E_BADMETADATA
34 // * META_E_CA_INVALID_BLOB
35 // * META_E_BAD_SIGNATURE
36 // * CLDB_E_FILE_CORRUPT
37 // * COR_E_BADIMAGEFORMAT
38
39// The data is too big to encode (the string/blob is larger than possible heap size).
40#define METADATA_E_DATA_TOO_BIG CLDB_E_TOO_BIG
41 // Options:
42 // * CLDB_E_TOO_BIG
43
44// Invalid MetaData format (headers, etc.).
45#define METADATA_E_INVALID_FORMAT COR_E_BADIMAGEFORMAT
46 // Options:
47 // * META_E_BADMETADATA
48 // * META_E_CA_INVALID_BLOB
49 // * META_E_BAD_SIGNATURE
50 // * CLDB_E_FILE_CORRUPT
51 // * COR_E_BADIMAGEFORMAT
52
53//
54// Other used error codes:
55// * COR_E_OUTOFMEMORY ... defined as E_OUTOFMEMORY
56// Alternatives:
57// * E_OUTOFMEMORY (from IfNullGo/IfNullRet macros)
58// * COR_E_OVERFLOW
59// Alternatives:
60// * COR_E_ARITHMETIC
61//
62