module spool test PRINTER_DRIVER_INFO_LEVEL_3 struct BUFFER5 { .align 4; uint32 buf_len; {buf_len} uint16 buffer; }; struct UNISTR2 { .align 4; uint32 max_len; uint32 undoc; uint32 str_len; {str_len} uint16 buffer; }; struct UINT64_S { uint32 low; uint32 high; }; struct NTTIME { uint32 low; uint32 high; }; struct PRINTER_DRIVER_INFO_LEVEL_3 { .align 4; uint32 cversion; UNISTR2 *name; UNISTR2 *environment; UNISTR2 *driverpath; UNISTR2 *datafile; UNISTR2 *configfile; UNISTR2 *helpfile; UNISTR2 *monitorname; UNISTR2 *defaultdatatype; uint32 dependentfiles_len; BUFFER5 *dependentfiles; }; struct PRINTER_DRIVER_INFO_LEVEL_6 { .align 4; uint32 dummy1; uint32 version; UNISTR2 *name; UNISTR2 *environment; UNISTR2 *driverpath; UNISTR2 *datafile; UNISTR2 *configfile; UNISTR2 *helpfile; UNISTR2 *monitorname; UNISTR2 *defaultdatatype; uint32 dependentfiles_len; BUFFER5 *dependentfiles; uint32 previousnames_len; BUFFER5 *previousnames; NTTIME driverdate; UINT64_S driverversion; uint32 dummy4; UNISTR2 *mfgname; UNISTR2 *oemurl; UNISTR2 *hardwareid; UNISTR2 *provider; }; struct PRINTER_DRIVER_INFO { .align 4; uint32 level; union level *info { case 3 PRINTER_DRIVER_INFO_LEVEL_3 info_3; case 6 PRINTER_DRIVER_INFO_LEVEL_6 info_6; } };