Exemple #1
0
        internal static NotificationInfoData GetJobTypeData(PrinterNotifyInfoData infoData)
        {
            switch ((JobNotifyField)infoData.Field)
            {
            case JobNotifyField.PRINTER_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.PRINTER_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.MACHINE_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.MACHINE_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.PORT_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.PORT_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.USER_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.USER_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.NOTIFY_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.NOTIFY_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.DATATYPE:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.DATATYPE,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.PRINT_PROCESSOR:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.PRINT_PROCESSOR,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.PARAMETERS:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.PARAMETERS,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.DRIVER_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.DRIVER_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.DEVMODE:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.DEVMODE,
                    Data = infoData.NotifyData.Data.pBuf
                });

            case JobNotifyField.STATUS:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.STATUS,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.STATUS_STRING:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.STATUS_STRING,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.DOCUMENT:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.DOCUMENT,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case JobNotifyField.PRIORITY:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.PRIORITY,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.POSITION:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.POSITION,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.SUBMITTED:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.SUBMITTED,
                    Data = Marshal.PtrToStructure <SystemTime>(infoData.NotifyData.Data.pBuf).ToDateTime()
                });

            case JobNotifyField.START_TIME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.START_TIME,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.UNTIL_TIME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.UNTIL_TIME,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.TIME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.TIME,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.TOTAL_PAGES:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.TOTAL_PAGES,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.PAGES_PRINTED:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.PAGES_PRINTED,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.TOTAL_BYTES:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.TOTAL_BYTES,
                    Data = infoData.NotifyData.adwData0
                });

            case JobNotifyField.BYTES_PRINTED:
                return(new NotificationInfoData
                {
                    DataType = (ushort)JobNotifyField.TOTAL_BYTES,
                    Data = infoData.NotifyData.adwData0
                });

            default:
                break;
            }

            return(null);
        }
Exemple #2
0
        internal static NotificationInfoData GetPrinterTypeData(PrinterNotifyInfoData infoData)
        {
            switch ((PrinterNotifyField)infoData.Field)
            {
            case PrinterNotifyField.PRINTER_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.PRINTER_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.SHARE_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.SHARE_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.PORT_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.PORT_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.DRIVER_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.DRIVER_NAME,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.COMMENT:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.COMMENT,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.LOCATION:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.LOCATION,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.DEVMODE:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.DEVMODE,
                    Data = infoData.NotifyData.Data.pBuf
                });

            case PrinterNotifyField.SEPFILE:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.SEPFILE,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.PRINT_PROCESSOR:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.PRINT_PROCESSOR,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.PARAMETERS:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.PARAMETERS,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.DATATYPE:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.DATATYPE,
                    Data = Marshal.PtrToStringUni(infoData.NotifyData.Data.pBuf)
                });

            case PrinterNotifyField.SECURITY_DESCRIPTOR:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.SECURITY_DESCRIPTOR,
                    Data = infoData.NotifyData.Data.pBuf
                });

            case PrinterNotifyField.ATTRIBUTES:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.ATTRIBUTES,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.PRIORITY:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.PRIORITY,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.DEFAULT_PRIORITY:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.DEFAULT_PRIORITY,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.START_TIME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.START_TIME,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.UNTIL_TIME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.UNTIL_TIME,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.STATUS:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.STATUS,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.CJOBS:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.CJOBS,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.AVERAGE_PPM:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.AVERAGE_PPM,
                    Data = infoData.NotifyData.adwData0
                });

            case PrinterNotifyField.OBJECT_GUID:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.OBJECT_GUID
                });

            case PrinterNotifyField.FRIENDLY_NAME:
                return(new NotificationInfoData
                {
                    DataType = (ushort)PrinterNotifyField.FRIENDLY_NAME
                });

            default:
                break;
            }

            return(null);
        }