IDebugComPlusSymbolProvider::CreateTypeFromPrimitive
형식이 지정 된 기본 형식에서 만들어집니다.
[C++]
HRESULT CreateTypeFromPrimitive(
DWORD dwPrimType,
IDebugAddress* pAddress,
IDebugField** ppType
);
[C#]
int CreateTypeFromPrimitive(
uint dwPrimType,
IDebugAddress pAddress,
IDebugField ppType
);
매개 변수
dwPrimType
[in] 값을 CorElementType 열거형 는 기본 형식을 나타냅니다.pAddress
[in] Address 개체를 표시 하는 IDebugAddress 인터페이스입니다.ppType
[in] 반환 된 IDebugField 형식을 설명 하는 개체입니다.
반환 값
성공 하면 반환 S_OK. 그렇지 않으면 오류 코드를 반환 합니다.
예제
다음 예제에서는이 메서드를 구현 하는 방법을 보여 줍니다 있는 CDebugSymbolProvider 를 노출 하는 개체는 IDebugComPlusSymbolProvider 인터페이스.
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;
}