He añadido el codigo siguiente, como parte de una funcion, para obtener la
impresora por defecto y el
nombre, driver y port.
Los datos se obtienen bien, pero me da tres errores de "la memoria no se
puede leer" al salir de la funcion, he depurado, repasado y algo se me
escapa, pero ya no lo veo
...
¿Que hago mal?
CWinApp WinApp;
PRINTDLG pd;
LPTSTR lpszDriverName, lpszDeviceName, lpszPortName;
LPDEVNAMES lpDevNames;
pd.lStructSize = (DWORD) sizeof(PRINTDLG);
if (WinApp.GetPrinterDeviceDefaults(&pd))
{
lpDevNames = (LPDEVNAMES)GlobalLock(pd.hDevNames);
lpszDriverName = (LPTSTR )lpDevNames + lpDevNames->wDriverOffset;
lpszDeviceName = (LPTSTR )lpDevNames + lpDevNames->wDeviceOffset;
lpszPortName = (LPTSTR )lpDevNames + lpDevNames->wOutputOffset;
}
Leer las respuestas