다음을 통해 공유


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;
}

참고 항목

참조

IDebugComPlusSymbolProvider