"It may contain as members C++/CX constructs or scalar types such as enum class, ref class, float64, and so on. It may also contain standard C++ types as long as they are not public. C++/CX constructs may have public, protected, internal, private, or protected private accessibility. Public or protected members are emitted to metadata. Standard C++ types must have private, internal, or protected private accessibility, which prevents them from being emitted to metadata."
Protected is emitted to the meta data so another language can make a derived class from it right?
Also why is it that in winRT everything is literally created on the heap? You cannot create a variable to contain a object?