1extern int f1(); 2extern int f2(void*); 3extern void* f3(int); 4int xmsih; 5typedef unsigned short XWCHAR; 6 7inline unsigned int xstrlenW( const XWCHAR *str ) 8{ 9 const XWCHAR *s = str; 10 while (*s) s++; 11 return s - str; 12} 13 14 15static int msi_dialog_register_class( void ) 16{ 17 int cls; 18 19 if( !f2( &cls ) ) 20 return 0; 21 if( !f2( &cls ) ) 22 return 0; 23 xmsih = f1(); 24 if( !xmsih ) 25 return 0; 26 return 1; 27} 28 29void *xmsi_dialog_create(const XWCHAR* szDialogName) 30{ 31 msi_dialog_register_class(); 32 return f3(xstrlenW(szDialogName)); 33} 34