Estas duas macros têm a mesma função que as anteriores mas, enquanto aquelas se destinam a alterar todas as classes, estas destinam-se a alterar apenas uma. Mantém-se igualmente o que foi dito acerca da divisão entre interface e código.
A diferença fundamental não está na utilização das macros, que é exactamente igual à das descritas em 6.3.4.2.3, mas sim no modo como são definidas.
#define MONO_DECL(type) type##_MONO_DECL #define MONO_IMPL(type) type##_MONO_IMPL
Como se pode observar, os corpos das macros são também macros, cujos nomes dependem da classe em que estão inseridas. Se o programador não definir as macros correspondentes a uma qualquer classe, o gerador de envelopes encarrega-se de o fazer. O código da macro é, neste caso, nulo.