Hmm, kinda hard to figure it out.
This might be one problem.
1 2 3 4
If Level is 2 or 5,Name is a pointer to a null-terminated string that specifies
the name of a server whose printers are to be enumerated. If this string is
NULL, then the function enumerates the printers installed on the local
. I observe that you pass NULL for the name, so in this case the network printers might not be listed.
Also have you tried to output the dm_DeviceName, or what is returned from the EnumPrinters
thank you for the reply.
The problem isn't enumprinters, it does supply the printer name, even if Name = NULL
msdn:When Name is NULL, setting Flags to PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS enumerates printers that are installed on the local machine. These printers include those that are physically attached to the local machine as well as remote printers to which it has a network connection.
the problem is in the lpszDevice is not accepted from the enumeration. I guess I'll need to figure another way to get the DC
A zero-terminated character array that specifies the "friendly" name of the printer or display; for example, "PCL/HP LaserJet" in the case of PCL/HP LaserJet. This string is unique among device drivers. Note that this name may be truncated to fit in the dmDeviceName array.
I maded a call to DocumentProperties with the my DEVMODE, the name was truncated, this is why it fails, I simply save the name and do not use the DEVMODE->dmDevicName, as it is truncated, do to length, and is then incorrect