Author: andreia
Date: 2007-12-10 06:07:22 -0500 (Mon, 10 Dec 2007)
New Revision: 91039
Modified:
trunk/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
trunk/mcs/class/System.Drawing/System.Drawing.Printing/PrintingServicesWin32.cs
Log:
* PrintingServicesWin32.cs: Add enumeration flag to get remote
printers as well as locally connected ones. Fixes #325258
2007-12-10 Andreia Gaita <[EMAIL PROTECTED]>
Modified: trunk/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
2007-12-10 11:05:42 UTC (rev 91038)
+++ trunk/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
2007-12-10 11:07:22 UTC (rev 91039)
@@ -1,3 +1,8 @@
+2007-12-10 Andreia Gaita <[EMAIL PROTECTED]>
+
+ * PrintingServicesWin32.cs: Add enumeration flag to get remote
+ printers as well as locally connected ones. Fixes #325258
+
2007-06-30 Gert Driesen <[EMAIL PROTECTED]>
* Margins.cs: Overloaded operators are 2.0 only.
Modified:
trunk/mcs/class/System.Drawing/System.Drawing.Printing/PrintingServicesWin32.cs
===================================================================
---
trunk/mcs/class/System.Drawing/System.Drawing.Printing/PrintingServicesWin32.cs
2007-12-10 11:05:42 UTC (rev 91038)
+++
trunk/mcs/class/System.Drawing/System.Drawing.Printing/PrintingServicesWin32.cs
2007-12-10 11:07:22 UTC (rev 91039)
@@ -327,8 +327,8 @@
IntPtr ptr, buff;
string s;
- // Determine space need it
- Win32EnumPrinters (2 /* PRINTER_ENUM_LOCAL */,
+ // Determine space needed
+ Win32EnumPrinters
((int)EnumPrinters.PRINTER_ENUM_CONNECTIONS |
(int)EnumPrinters.PRINTER_ENUM_LOCAL,
null, 2, IntPtr.Zero, 0, ref cbNeeded, ref
printers);
if (cbNeeded <= 0)
@@ -338,7 +338,7 @@
try {
// Give us the printer list
- Win32EnumPrinters (2 /*
PRINTER_ENUM_LOCAL */,
+ Win32EnumPrinters
((int)EnumPrinters.PRINTER_ENUM_CONNECTIONS |
(int)EnumPrinters.PRINTER_ENUM_LOCAL,
null, 2, buff, (uint)cbNeeded,
ref cbNeeded, ref printers);
for (int i = 0; i < printers; i++) {
@@ -638,6 +638,18 @@
DT_DISPFILE = 6, // Display-file
}
+ [Flags]
+ internal enum EnumPrinters: uint
+ {
+ PRINTER_ENUM_DEFAULT = 0x1,
+ PRINTER_ENUM_LOCAL = 0x2,
+ PRINTER_ENUM_CONNECTIONS = 0x4,
+ PRINTER_ENUM_FAVORITE = 0x4,
+ PRINTER_ENUM_NAME = 0x8,
+ PRINTER_ENUM_REMOTE = 0x10,
+ PRINTER_ENUM_SHARED = 0x20,
+ PRINTER_ENUM_NETWORK = 0x40,
+ }
}
class GlobalPrintingServicesWin32 : GlobalPrintingServices
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches