34 lines
567 B
C
34 lines
567 B
C
extern int f1();
|
|
extern int f2(void*);
|
|
extern void* f3(int);
|
|
int xmsih;
|
|
typedef unsigned short XWCHAR;
|
|
|
|
inline unsigned int xstrlenW( const XWCHAR *str )
|
|
{
|
|
const XWCHAR *s = str;
|
|
while (*s) s++;
|
|
return s - str;
|
|
}
|
|
|
|
|
|
static int msi_dialog_register_class( void )
|
|
{
|
|
int cls;
|
|
|
|
if( !f2( &cls ) )
|
|
return 0;
|
|
if( !f2( &cls ) )
|
|
return 0;
|
|
xmsih = f1();
|
|
if( !xmsih )
|
|
return 0;
|
|
return 1;
|
|
}
|
|
|
|
void *xmsi_dialog_create(const XWCHAR* szDialogName)
|
|
{
|
|
msi_dialog_register_class();
|
|
return f3(xstrlenW(szDialogName));
|
|
}
|