in src/InstrumentationEngine/TypeCreator.cpp [22:59]
HRESULT MicrosoftInstrumentationEngine::CTypeCreator::FromCorElement(_In_ CorElementType type, _Out_ IType ** ppType)
{
IfNullRetPointer(ppType);
*ppType = nullptr;
switch (type)
{
case ELEMENT_TYPE_VOID:
case ELEMENT_TYPE_BOOLEAN:
case ELEMENT_TYPE_CHAR:
case ELEMENT_TYPE_I1:
case ELEMENT_TYPE_U1:
case ELEMENT_TYPE_I2:
case ELEMENT_TYPE_U2:
case ELEMENT_TYPE_I4:
case ELEMENT_TYPE_U4:
case ELEMENT_TYPE_I8:
case ELEMENT_TYPE_U8:
case ELEMENT_TYPE_R4:
case ELEMENT_TYPE_R8:
case ELEMENT_TYPE_I:
case ELEMENT_TYPE_U:
case ELEMENT_TYPE_STRING:
case ELEMENT_TYPE_OBJECT:
{
CComPtr<IType> simpleType;
simpleType.Attach(new CSimpleType(type));
if (simpleType == nullptr)
{
return E_OUTOFMEMORY;
}
*ppType = simpleType.Detach();
return S_OK;
}
}
return E_NOTIMPL;
}