module spool test PRINTER_DRIVER_INFO_LEVEL_6 struct BUFFER5 { uint32 buf_len; uint16 *buffer[buf_len]; }; struct UNISTR2 { uint32 max_len; uint32 undoc; uint32 str_len; uint16 *buffer[str_len]; }; struct UINT64_S { uint32 low; uint32 high; }; struct NTTIME { uint32 low; uint32 high; }; struct PRINTER_DRIVER_INFO_LEVEL_3 { 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 { 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 { uint32 level; union *info[level] { case 3 PRINTER_DRIVER_INFO_LEVEL_3 info_3; case 6 PRINTER_DRIVER_INFO_LEVEL_6 info_6; } };