SplGetControlPanelList
Appearance
This function queries installed control panel DLLs for support for the printer attached to the given port.
Syntax
SplGetControlPanelList(pszComputerName, pszPortName, pszDeviceID, flCapabilities, pszListOfPanels, cbBuf, pcbNeeded);
Parameters
- pszComputerName (PSZ) - input
- Name of computer connected to the printer port.
- This is NULL for printers whose port exists on the current machine.
- pszPortName (PSZ) - input
- Name of printer port on pszComputerName used to determine if a control panel can be displayed.
- pszDeviceID (PSZ) - input
- Device ID, if known, for the printer connected to pszPortName.
- flCapabilities (ULONG) - input
- Compatibilities requested.
- FL_ADMIN - 0x00000001
- Set if an administrator wants the control panel.
- pszListOfPanels (PSZ) - output
- Receives comma-separated list of control panel names capable of displaying a control panel for the printer.
- cbBuf (ULONG) - input
- Length of buffer, in bytes, pointed to by pszListOfPanels.
- pcbNeeded (PULONG) - output
- Receives length, in bytes, of buffer needed to store entire list of control panels for the printer.
Returns
- rc (ULONG) - returns
- Return codes.
- 0 Success
- ERROR_NOT_SUPPORTED(50)
- A control panel for this printer is not supported by any control panel DLL.
- NERR_BufTooSmall(2123)
- Need to call again with a bigger buffer.
Sample
#define INCL_SPL #define INCL_SPLBIDI #include <os2.h> PSZ pszComputerName; /* Name of computer connected to the printer port. */ PSZ pszPortName; /* Name of printer port on pszComputerName used to determine if a control panel can be displayed. */ PSZ pszDeviceID; /* Device ID, if known, for the printer connected to pszPortName. */ ULONG flCapabilities; /* Compatibilities requested. */ PSZ pszListOfPanels; /* Receives comma-separated list of control panel names capable of displaying a control panel for the printer. */ ULONG cbBuf; /* Length of buffer, in bytes, pointed to by pszListOfPanels. */ PULONG pcbNeeded; /* Receives length, in bytes, of buffer needed to store entire list of control panels for the printer. */ ULONG rc; /* Return codes. */ rc = SplGetControlPanelList(pszComputerName, pszPortName, pszDeviceID, flCapabilities, pszListOfPanels, cbBuf, pcbNeeded);
Remarks
This function will return Success only for printers that are configured to communicate bidirectionally.