LPD Setup Instructions
Updated July 11, 2000

Files Involved

Two files are required to run COOL.STF's LPD service on your WBT:

LPD.EXE The main executable (6KB)
LPDCFG.DLL The configuration utility (14KB)

LPD.EXE is launched when the WBT boots - if LPD services are enabled, it continues to run - otherwise it exits and can only be restarted by a reboot (since the WBT shell has no way to restart it).

LPDCFG.DLL is called by the TerminalProperties.EXE program. It provides a user interface to configure the operation of the LPD service, writes it's changes to the registry and flushes when done with a RegFlushKey() call. Less than 1KB of registry space is used for the LPD configuration.

Copyright Message

The following text needs to be added to the copyright message that's displayed when the terminal's properties are displayed (F2 key press):

LPD Service Copyright (c) 1998-2000 COOLSTF.com

Installation Instructions

To add LPD to your Platform Builder tree, follow these instructions:

lpdcfg.dll $(_FLATRELEASEDIR)\lpdcfg.dll NK
lpd.exe $(_FLATRELEASEDIR)\lpd.exe NK

[HKEY_LOCAL_MACHINE\init]
"Launch10"="shell.exe"
"Launch20"="device.exe"
"Launch30"="gwes.exe"
"Depend30"=hex:14,0
"Launch40"="wbtshell.exe"
"Depend40"=hex:14,00, 1e,00
"Launch50"="lpd.exe"
"Depend50"=hex:14,00, 1e,00

typedef int tdEmbeddedEntryPoint(HWND hWnd);
int (*EmbeddedEntryPoint) (HWND hWnd);
void CMiscPage::OnLpdConfig()
{
 HINSTANCE hLPRCfg;

 hLPRCfg = LoadLibrary(TEXT("lpdcfg.dll"));
 if (hLPRCfg != NULL)
 {
  EmbeddedEntryPoint = (tdEmbeddedEntryPoint *)GetProcAddress(hLPRCfg, TEXT("EmbeddedEntryPoint"));
  if (EmbeddedEntryPoint != NULL)
  {
   EmbeddedEntryPoint(m_hWnd);
   m_sheet->m_rebootFlag = TRUE;
  }
  FreeLibrary(hLPRCfg);
 }
}