HRESULT Library_corlib_native_System_Reflection_Assembly::get_FullName___STRING( CLR_RT_StackFrame& stack )
{
    NATIVE_PROFILE_CLR_CORE();
    TINYCLR_HEADER();

    //The defines for maxFULLNAME and parameters for snprintf are currently not validated.
    CLR_RT_Assembly_Instance instance;
    CLR_RT_Assembly*         assm;
    char                     buffer[ TINYCLR_MAX_ASSEMBLY_NAME * 2 ];
    const CLR_RECORD_ASSEMBLY* header ;


    TINYCLR_CHECK_HRESULT(GetTypeDescriptor( stack.Arg0(), instance ));
   
    assm                              = instance.m_assm;
    header = assm->m_header;

    if(hal_strlen_s(assm->m_szName) > TINYCLR_MAX_ASSEMBLY_NAME)
    {
        TINYCLR_SET_AND_LEAVE(CLR_E_INVALID_PARAMETER);
    }
    
    hal_snprintf( buffer, TINYCLR_MAX_ASSEMBLY_NAME * 2, 
                  "%s, Version=%d.%d.%d.%d", 
                  assm->m_szName, 
                  header->version.iMajorVersion, 
                  header->version.iMinorVersion, 
                  header->version.iBuildNumber, 
                  header->version.iRevisionNumber );
    
    stack.SetResult_String( buffer );

    TINYCLR_NOCLEANUP();
#undef MAXFULLNAME
}
Exemplo n.º 2
0
void Log::CloseLog( BOOL result, char* message )
{
    char buffer[40];

    char* result_s = ConvertResult( result );

    if(message)
    {
        hal_snprintf( buffer, sizeof(buffer), "%12s, %4s", message, result_s );
    }
    else
    {
        hal_snprintf( buffer, sizeof(buffer), "%12s, %4s", m_logBuffer, result_s );
    }

    m_handler( buffer, NULL );
}
Exemplo n.º 3
0
void Log::LogState( char* messageformat )
{
    hal_snprintf( m_logBuffer, sizeof(m_logBuffer), messageformat, m_state);
}
Exemplo n.º 4
0
LPCSTR CLR_RT_DUMP::GETERRORMESSAGE( HRESULT hrError )
{
    NATIVE_PROFILE_CLR_DIAGNOSTICS();
#define CASE_HRESULT_TO_STRING(hr) case hr: return #hr
    switch(hrError)
    {
        CASE_HRESULT_TO_STRING(CLR_E_UNKNOWN_INSTRUCTION);
        CASE_HRESULT_TO_STRING(CLR_E_UNSUPPORTED_INSTRUCTION);
        CASE_HRESULT_TO_STRING(CLR_E_STACK_OVERFLOW);
        CASE_HRESULT_TO_STRING(CLR_E_STACK_UNDERFLOW);
        CASE_HRESULT_TO_STRING(CLR_E_ENTRY_NOT_FOUND);
        CASE_HRESULT_TO_STRING(CLR_E_ASSM_WRONG_CHECKSUM);
        CASE_HRESULT_TO_STRING(CLR_E_ASSM_PATCHING_NOT_SUPPORTED);
        CASE_HRESULT_TO_STRING(CLR_E_SHUTTING_DOWN);
        CASE_HRESULT_TO_STRING(CLR_E_OBJECT_DISPOSED);
        CASE_HRESULT_TO_STRING(CLR_E_WATCHDOG_TIMEOUT);
        CASE_HRESULT_TO_STRING(CLR_E_NULL_REFERENCE);
        CASE_HRESULT_TO_STRING(CLR_E_WRONG_TYPE);
        CASE_HRESULT_TO_STRING(CLR_E_TYPE_UNAVAILABLE);
        CASE_HRESULT_TO_STRING(CLR_E_INVALID_CAST);
        CASE_HRESULT_TO_STRING(CLR_E_OUT_OF_RANGE);
        CASE_HRESULT_TO_STRING(CLR_E_SERIALIZATION_VIOLATION);
        CASE_HRESULT_TO_STRING(CLR_E_SERIALIZATION_BADSTREAM);
        CASE_HRESULT_TO_STRING(CLR_E_DIVIDE_BY_ZERO);
        CASE_HRESULT_TO_STRING(CLR_E_BUSY);
        CASE_HRESULT_TO_STRING(CLR_E_PROCESS_EXCEPTION);
        CASE_HRESULT_TO_STRING(CLR_E_THREAD_WAITING);
        CASE_HRESULT_TO_STRING(CLR_E_LOCK_SYNCHRONIZATION_EXCEPTION);
        CASE_HRESULT_TO_STRING(CLR_E_APPDOMAIN_EXITED);
        CASE_HRESULT_TO_STRING(CLR_E_APPDOMAIN_MARSHAL_EXCEPTION);
        CASE_HRESULT_TO_STRING(CLR_E_UNKNOWN_TYPE);
        CASE_HRESULT_TO_STRING(CLR_E_ARGUMENT_NULL);
        CASE_HRESULT_TO_STRING(CLR_E_IO);
        CASE_HRESULT_TO_STRING(CLR_E_ENTRYPOINT_NOT_FOUND);
        CASE_HRESULT_TO_STRING(CLR_E_DRIVER_NOT_REGISTERED);
        CASE_HRESULT_TO_STRING(CLR_E_PIN_UNAVAILABLE);
        CASE_HRESULT_TO_STRING(CLR_E_PIN_DEAD);
        CASE_HRESULT_TO_STRING(CLR_E_INVALID_OPERATION);
        CASE_HRESULT_TO_STRING(CLR_E_WRONG_INTERRUPT_TYPE);
        CASE_HRESULT_TO_STRING(CLR_E_NO_INTERRUPT);
        CASE_HRESULT_TO_STRING(CLR_E_DISPATCHER_ACTIVE);
        CASE_HRESULT_TO_STRING(CLR_E_FILE_IO);
        CASE_HRESULT_TO_STRING(CLR_E_INVALID_DRIVER);
        CASE_HRESULT_TO_STRING(CLR_E_FILE_NOT_FOUND);
        CASE_HRESULT_TO_STRING(CLR_E_DIRECTORY_NOT_FOUND);
        CASE_HRESULT_TO_STRING(CLR_E_VOLUME_NOT_FOUND);
        CASE_HRESULT_TO_STRING(CLR_E_PATH_TOO_LONG);
        CASE_HRESULT_TO_STRING(CLR_E_DIRECTORY_NOT_EMPTY);
        CASE_HRESULT_TO_STRING(CLR_E_UNAUTHORIZED_ACCESS);
        CASE_HRESULT_TO_STRING(CLR_E_PATH_ALREADY_EXISTS);
        CASE_HRESULT_TO_STRING(CLR_E_TOO_MANY_OPEN_HANDLES);
        CASE_HRESULT_TO_STRING(CLR_E_NOT_SUPPORTED);
        CASE_HRESULT_TO_STRING(CLR_E_RESCHEDULE);
        CASE_HRESULT_TO_STRING(CLR_E_OUT_OF_MEMORY);
        CASE_HRESULT_TO_STRING(CLR_E_RESTART_EXECUTION);
        CASE_HRESULT_TO_STRING(CLR_E_TIMEOUT);
        CASE_HRESULT_TO_STRING(CLR_E_FAIL);
        //--//
        CASE_HRESULT_TO_STRING(CLR_S_THREAD_EXITED);
        CASE_HRESULT_TO_STRING(CLR_S_QUANTUM_EXPIRED);
        CASE_HRESULT_TO_STRING(CLR_S_NO_READY_THREADS);
        CASE_HRESULT_TO_STRING(CLR_S_NO_THREADS);
        CASE_HRESULT_TO_STRING(CLR_S_RESTART_EXECUTION);
    }
#undef CASE_HRESULT_TO_STRING

    static char s_tmp[ 32 ];

    hal_snprintf( s_tmp, MAXSTRLEN(s_tmp), "0x%08x", hrError );

    return s_tmp;
}