Syntax:
INT LlStgsysGetPagePrinter (HLLSTG hStg, INT nPageIndex, LPTSTR pszDeviceName, UINT nDeviceNameSize, PHGLOBAL phDevmode);
Task:
Returns the printer and the settings that would be used for this page.
Parameter:
hStg: The handle returned by LlStgsysStorageOpen()
nPageIndex: Page index (1..LlStgsysGetPageCount())
pszDeviceName: Pointer to a buffer for the device name
nDeviceNameSize: Size of the buffer
phDevmode: Pointer to a global handle where the DEVMODE structure will be stored. If NULL, the DEVMODE structure is not queried. If a pointer to a handle is passed, it must be a valid global handle or NULL.
Return value:
Error code (LL_ERR_BUFFERTOOSMALL if the device name's buffer is too small)
See also:
LlGetPrinterFromPrinterFile, LlSetPrinterInPrinterFile
Example:
HGLOBAL
dev(NULL);
TCHAR* pszPrinter = new TCHAR[1024];
int iRet = LlStgsysGetPagePrinter(m_hStgOrg,
1, pszPrinter, 1096, &dev);
LPVOID pDevmode = GlobalLock(dev);
DEVMODE
aDEVMODE = *((DEVMODE*)pDevmode);
…
//
tidy-up
GlobalUnlock(dev);
GlobalFree(dev);