Hi mark0!  Thanks for your fast response and your effort!
I know  my problem.
--   in the c++ demo
ret = trd.GetInfo(TRID_GET_RES_NUM,0,buf);
for(int i = ret+1; --i;)
{
      trd.GetInfo(TRID_GET_RES_FILETYPE,i,buf);
      printf("File type: %s\n",buf);
      trd.GetInfo(TRID_GET_RES_FILEEXT,i,buf);;
     printf("File ext: .%s\n",buf);
     trd.GetInfo(TRID_GET_RES_POINTS,i,buf);
     printf("Matching points: %d\n\n",ret);     // I think  this is a bug . Because the "ret"  always equal  "trd.GetInfo(TRID_GET_RES_NUM,0,buf)"
                                                                // So i can't get the  right match values. 
}
match = trd.GetInfo(TRID_GET_RES_POINTS,i,buf);
printf("Matching points: %d\n\n",match);   //  This code can print  the right match values.