// th.c // // Copyright 1989-94, Microsoft Corporation #include "shinc.hpp" #pragma hdrstop __inline HTYPE NB09GetTypeFromIndex ( LPEXG lpexg, THIDX index ) { HTYPE htype = (HTYPE)NULL; if (lpexg->lpalmTypes ) { assert ( lpexg->rgitd != NULL ); // adjust the pointer to an internal index index -= CV_FIRST_NONPRIM; // if type is in range, return it if( index < (THIDX) lpexg->citd ) { htype = (HTYPE) LpvFromAlmLfo ( lpexg->lpalmTypes, lpexg->rgitd [ index ] ); } } return htype; } HTYPE THGetTypeFromIndex ( HMOD hmod, THIDX index ) { HTYPE htype = (HTYPE)NULL; if ( hmod && !CV_IS_PRIMITIVE (index) ) { HEXG hexg = SHHexgFromHmod ( hmod ); LPEXG lpexg = (LPEXG) LLLock ( hexg ); if (lpexg->ppdb) { assert (lpexg->ptpi); if (index < TypesQueryTiMac(lpexg->ptpi)) { if (!TypesQueryPbCVRecordForTi(lpexg->ptpi, index, (PB*) &htype)){ htype = (HTYPE) NULL; } } } else { htype = NB09GetTypeFromIndex (lpexg, index); } LLUnlock( hexg ); } return htype; } HTYPE THGetNextType ( HMOD hmod, HTYPE hType ) { Unreferenced( hmod ); Unreferenced( hType ); return(NULL); }