public PRINTER_NOTIFY_OPTIONS() { int bytesNeeded = (2 + PRINTER_NOTIFY_OPTIONS_TYPE.JOB_FIELDS_COUNT + PRINTER_NOTIFY_OPTIONS_TYPE.PRINTER_FIELDS_COUNT) * 2; PRINTER_NOTIFY_OPTIONS_TYPE pJobTypes = new PRINTER_NOTIFY_OPTIONS_TYPE(); lpTypes = Marshal.AllocHGlobal(bytesNeeded); Marshal.StructureToPtr(pJobTypes, lpTypes, true); }