创建从指定的基元类型的类型。
[C++]
HRESULT CreateTypeFromPrimitive(
DWORD dwPrimType,
IDebugAddress* pAddress,
IDebugField** ppType
);
[C#]
int CreateTypeFromPrimitive(
uint dwPrimType,
IDebugAddress pAddress,
IDebugField ppType
);
参数
dwPrimType
[in] 表示基元类型从 CorElementType 枚举 的值。pAddress
[in] IDebugAddress 接口表示的地址对象。ppType
[in] 返回描述类型的 IDebugField 对象。
返回值
如果成功,则返回; S_OK否则,返回错误代码。
示例
下面的示例演示如何执行显示 IDebugComPlusSymbolProvider 接口的 CDebugSymbolProvider 对象的方法。
HRESULT CDebugSymbolProvider::CreateTypeFromPrimitive(
DWORD dwPrimType,
IDebugAddress* pAddress,
IDebugField** ppType)
{
HRESULT hr = S_OK;
CDEBUG_ADDRESS addr;
const COR_SIGNATURE* pTypeInfo = (const COR_SIGNATURE*) & dwPrimType;
CDebugGenericParamScope* pGenScope = NULL;
//
// This function will only work for primitive types
//
METHOD_ENTRY( CDebugSymbolProvider::CreateTypeFromPrimitive );
IfFailGo( pAddress->GetAddress( &addr ) );
IfNullGo( pGenScope = new CDebugGenericParamScope(addr.GetModule(), addr.tokClass, addr.GetMethod()), E_OUTOFMEMORY );
IfFailGo( CreateType( pTypeInfo,
1,
addr.GetModule(),
addr.GetMethod(),
pGenScope,
ppType ) );
METHOD_EXIT( CDebugSymbolProvider::CreateTypeFromPrimitive, hr );
Error:
RELEASE( pGenScope );
return hr;
}