LlStgsysGetPagePrinter

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);