struct {
 struct {
  int i;
  HANDLE h;
 } S2[100];
} S1[1];

となってないか?