mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
636 lines
29 KiB
636 lines
29 KiB
/***************************************************************************
|
|
*
|
|
* File Name: main.c
|
|
* applet : hplotui, with PML
|
|
*
|
|
* Copyright (C) 1993-1996 Hewlett-Packard Company.
|
|
* All rights reserved.
|
|
*
|
|
* 11311 Chinden Blvd.
|
|
* Boise, Idaho 83714
|
|
*
|
|
* This is a part of the HP JetAdmin Printer Utility
|
|
*
|
|
* This source code is only intended as a supplement for support and
|
|
* localization of HP JetAdmin by 3rd party Operating System vendors.
|
|
* Modification of source code cannot be made without the express written
|
|
* consent of Hewlett-Packard.
|
|
*
|
|
*
|
|
* Description:
|
|
*
|
|
* Author: Lionelle Grandmougin
|
|
*
|
|
*
|
|
* Modification history:
|
|
*
|
|
* date initials change description
|
|
*
|
|
* 15-04-95 LG
|
|
* 09-08-95 LG review and clean up
|
|
* 10-10-95 LG added Pelican definition (except status)
|
|
* 16-10-95 LG adapted the applet to the new COLA API
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
***************************************************************************/
|
|
|
|
#include <pch_c.h>
|
|
|
|
#ifdef WIN32
|
|
#include <commctrl.h>
|
|
#endif
|
|
|
|
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
#include <memory.h>
|
|
#include <trace.h>
|
|
#include <applet.h>
|
|
|
|
// our private includes
|
|
#include ".\resource.h"
|
|
#include ".\meddjui.h"
|
|
|
|
|
|
|
|
HINSTANCE hInstance;
|
|
|
|
|
|
UINT PARROTstatusResList[MAX_ASYNCH_STATUS] =
|
|
{IDB_PARROT_GEN, // 0 printer error
|
|
IDB_PARROT_DOOROPEN, // 1 door open
|
|
IDB_PARROT, // 2 warmup
|
|
IDB_PARROT, // 3 reset
|
|
IDB_PARROT_GEN, // 4 outbin full
|
|
IDB_PARROT_GEN, // 5 paper jam
|
|
IDB_PARROT_GEN, // 6 toner gone
|
|
IDB_PARROT_NOMEDIA, // 7 manual feed
|
|
IDB_PARROT_MEDIAOUT, // 8 paper out
|
|
IDB_PARROT_GEN, // 9 page punt
|
|
IDB_PARROT_GEN, // 10 memory out
|
|
IDB_PARROT_GEN, // 11 offline
|
|
IDB_PARROT_GEN, // 12 intervention
|
|
IDB_PARROT, // 13 initializing
|
|
IDB_PARROT_GEN, // 14 toner low
|
|
IDB_PARROT, // 15 printing test page
|
|
IDB_PARROT, // 16 printing
|
|
IDB_PARROT, // 17 online
|
|
IDB_PARROT, // 18 busy
|
|
IDB_PARROT_GEN, // 19 not connected
|
|
IDB_PARROT_GEN, // 20 status unavailable
|
|
IDB_PARROT_NETWORK, // 21 network error
|
|
IDB_PARROT_GEN, // 22 communication error
|
|
IDB_PARROT_GEN, // 23 black empty
|
|
IDB_PARROT_GEN, // 24 magenta empty
|
|
IDB_PARROT_GEN, // 25 cyan empty
|
|
IDB_PARROT_GEN, // 26 yellow empty
|
|
IDB_PARROT_GEN, // 27 black missing
|
|
IDB_PARROT_GEN, // 28 magenta missing
|
|
IDB_PARROT_GEN, // 29 cyan missing
|
|
IDB_PARROT_GEN, // 30 yellow missing
|
|
IDB_PARROT_NOMEDIA, // 31 tray1 empty
|
|
IDB_PARROT_GEN, // 32 tray2 empty
|
|
IDB_PARROT_GEN, // 33 tray3 empty
|
|
IDB_PARROT_GEN, // 34 tray1 jam
|
|
IDB_PARROT_GEN, // 35 tray2 jam
|
|
IDB_PARROT_GEN, // 36 tray3 jam
|
|
IDB_PARROT, // 37 powersave
|
|
};
|
|
|
|
|
|
UINT RAVENstatusResList[MAX_ASYNCH_STATUS] =
|
|
{IDB_RAVEN_GEN, // 0 printer error
|
|
IDB_RAVEN_DOOROPEN, // 1 door open
|
|
IDB_RAVEN, // 2 warmup
|
|
IDB_RAVEN, // 3 reset
|
|
IDB_RAVEN_GEN, // 4 outbin full
|
|
IDB_RAVEN_GEN, // 5 paper jam
|
|
IDB_RAVEN_GEN, // 6 toner gone
|
|
IDB_RAVEN_NOMEDIA, // 7 manual feed
|
|
IDB_RAVEN_MEDIAOUT, // 8 paper out
|
|
IDB_RAVEN_GEN, // 9 page punt
|
|
IDB_RAVEN_GEN, // 10 memory out
|
|
IDB_RAVEN_GEN, // 11 offline
|
|
IDB_RAVEN_GEN, // 12 intervention
|
|
IDB_RAVEN, // 13 initializing
|
|
IDB_RAVEN_GEN, // 14 toner low
|
|
IDB_RAVEN, // 15 printing test page
|
|
IDB_RAVEN, // 16 printing
|
|
IDB_RAVEN, // 17 online
|
|
IDB_RAVEN, // 18 busy
|
|
IDB_RAVEN_GEN, // 19 not connected
|
|
IDB_RAVEN_GEN, // 20 status unavailable
|
|
IDB_RAVEN_NETWORK, // 21 network error
|
|
IDB_RAVEN_GEN, // 22 communication error
|
|
IDB_RAVEN_GEN, // 23 black empty
|
|
IDB_RAVEN_GEN, // 24 magenta empty
|
|
IDB_RAVEN_GEN, // 25 cyan empty
|
|
IDB_RAVEN_GEN, // 26 yellow empty
|
|
IDB_RAVEN_GEN, // 27 black missing
|
|
IDB_RAVEN_GEN, // 28 magenta missing
|
|
IDB_RAVEN_GEN, // 29 cyan missing
|
|
IDB_RAVEN_GEN, // 30 yellow missing
|
|
IDB_RAVEN_NOMEDIA, // 31 tray1 empty
|
|
IDB_RAVEN_GEN, // 32 tray2 empty
|
|
IDB_RAVEN_GEN, // 33 tray3 empty
|
|
IDB_RAVEN_GEN, // 34 tray1 jam
|
|
IDB_RAVEN_GEN, // 35 tray2 jam
|
|
IDB_RAVEN_GEN, // 36 tray3 jam
|
|
IDB_RAVEN, // 37 powersave
|
|
};
|
|
|
|
|
|
UINT PENGUIN_CLIPPERstatusResList[MAX_ASYNCH_STATUS] =
|
|
{IDB_PENGUIN_GEN, // 0 printer error
|
|
IDB_PENGUIN_GEN, // 1 door open
|
|
IDB_PENGUIN, // 2 warmup
|
|
IDB_PENGUIN, // 3 reset
|
|
IDB_PENGUIN_GEN, // 4 outbin full
|
|
IDB_PENGUIN_GEN, // 5 paper jam
|
|
IDB_PENGUIN_GEN, // 6 toner gone
|
|
IDB_PENGUIN, // 7 manual feed
|
|
IDB_PENGUIN_GEN, // 8 paper out
|
|
IDB_PENGUIN_GEN, // 9 page punt
|
|
IDB_PENGUIN_GEN, // 10 memory out
|
|
IDB_PENGUIN_GEN, // 11 offline
|
|
IDB_PENGUIN_GEN, // 12 intervention
|
|
IDB_PENGUIN, // 13 initializing
|
|
IDB_PENGUIN_GEN, // 14 toner low
|
|
IDB_PENGUIN, // 15 printing test page
|
|
IDB_PENGUIN, // 16 printing
|
|
IDB_PENGUIN, // 17 online
|
|
IDB_PENGUIN, // 18 busy
|
|
IDB_PENGUIN_GEN, // 19 not connected
|
|
IDB_PENGUIN_GEN, // 20 status unavailable
|
|
IDB_PENGUIN_NETWORK, // 21 network error
|
|
IDB_PENGUIN_GEN, // 22 communication error
|
|
IDB_PENGUIN_GEN, // 23 black empty
|
|
IDB_PENGUIN_GEN, // 24 magenta empty
|
|
IDB_PENGUIN_GEN, // 25 cyan empty
|
|
IDB_PENGUIN_GEN, // 26 yellow empty
|
|
IDB_PENGUIN_GEN, // 27 black missing
|
|
IDB_PENGUIN_GEN, // 28 magenta missing
|
|
IDB_PENGUIN_GEN, // 29 cyan missing
|
|
IDB_PENGUIN_GEN, // 30 yellow missing
|
|
IDB_PENGUIN_GEN, // 31 tray1 empty
|
|
IDB_PENGUIN_GEN, // 32 tray2 empty
|
|
IDB_PENGUIN_GEN, // 33 tray3 empty
|
|
IDB_PENGUIN_GEN, // 34 tray1 jam
|
|
IDB_PENGUIN_GEN, // 35 tray2 jam
|
|
0};
|
|
|
|
|
|
UINT FLAMINGO_PEACOCKstatusResList[MAX_ASYNCH_STATUS] =
|
|
{IDB_FLAMINGO_GEN, // 0 printer error
|
|
IDB_FLAMINGO_DOOROPEN, // 1 door open
|
|
IDB_FLAMINGO, // 2 warmup
|
|
IDB_FLAMINGO, // 3 reset
|
|
IDB_FLAMINGO_GEN, // 4 outbin full
|
|
IDB_FLAMINGO_GEN, // 5 paper jam
|
|
IDB_FLAMINGO_GEN, // 6 toner gone
|
|
IDB_FLAMINGO, // 7 manual feed
|
|
IDB_FLAMINGO_GEN, // 8 paper out
|
|
IDB_FLAMINGO_GEN, // 9 page punt
|
|
IDB_FLAMINGO_GEN, // 10 memory out
|
|
IDB_FLAMINGO_GEN, // 11 offline
|
|
IDB_FLAMINGO_GEN, // 12 intervention
|
|
IDB_FLAMINGO, // 13 initializing
|
|
IDB_FLAMINGO_GEN, // 14 toner low
|
|
IDB_FLAMINGO_PRINTING, // 15 printing test page
|
|
IDB_FLAMINGO_PRINTING, // 16 printing
|
|
IDB_FLAMINGO, // 17 online
|
|
IDB_FLAMINGO, // 18 busy
|
|
IDB_FLAMINGO_GEN, // 19 not connected
|
|
IDB_FLAMINGO_GEN, // 20 status unavailable
|
|
IDB_FLAMINGO_NETWORK, // 21 network error
|
|
IDB_FLAMINGO_GEN, // 22 communication error
|
|
IDB_FLAMINGO_GEN, // 23 black empty
|
|
IDB_FLAMINGO_GEN, // 24 magenta empty
|
|
IDB_FLAMINGO_GEN, // 25 cyan empty
|
|
IDB_FLAMINGO_GEN, // 26 yellow empty
|
|
IDB_FLAMINGO_GEN, // 27 black missing
|
|
IDB_FLAMINGO_GEN, // 28 magenta missing
|
|
IDB_FLAMINGO_GEN, // 29 cyan missing
|
|
IDB_FLAMINGO_GEN, // 30 yellow missing
|
|
IDB_FLAMINGO_GEN, // 31 tray1 empty
|
|
IDB_FLAMINGO_GEN, // 32 tray2 empty
|
|
IDB_FLAMINGO_GEN, // 33 tray3 empty
|
|
IDB_FLAMINGO_GEN, // 34 tray1 jam
|
|
IDB_FLAMINGO_GEN, // 35 tray2 jam
|
|
0};
|
|
|
|
UINT SAMURAIstatusResList[MAX_ASYNCH_STATUS] =
|
|
{IDB_SAMURAI_GEN, // 0 printer error
|
|
IDB_SAMURAI_DOOROPEN, // 1 door open
|
|
IDB_SAMURAI, // 2 warmup
|
|
IDB_SAMURAI, // 3 reset
|
|
IDB_SAMURAI_GEN, // 4 outbin full
|
|
IDB_SAMURAI_GEN, // 5 paper jam
|
|
IDB_SAMURAI_GEN, // 6 toner gone
|
|
IDB_SAMURAI, // 7 manual feed
|
|
IDB_SAMURAI_GEN, // 8 paper out
|
|
IDB_SAMURAI_GEN, // 9 page punt
|
|
IDB_SAMURAI_GEN, // 10 memory out
|
|
IDB_SAMURAI_GEN, // 11 offline
|
|
IDB_SAMURAI_GEN, // 12 intervention
|
|
IDB_SAMURAI, // 13 initializing
|
|
IDB_SAMURAI_GEN, // 14 toner low
|
|
IDB_SAMURAI_PRINTING, // 15 printing test page
|
|
IDB_SAMURAI_PRINTING, // 16 printing
|
|
IDB_SAMURAI, // 17 online
|
|
IDB_SAMURAI, // 18 busy
|
|
IDB_SAMURAI_GEN, // 19 not connected
|
|
IDB_SAMURAI_GEN, // 20 status unavailable
|
|
IDB_SAMURAI_NETWORK, // 21 network error
|
|
IDB_SAMURAI_GEN, // 22 communication error
|
|
IDB_SAMURAI_GEN, // 23 black empty
|
|
IDB_SAMURAI_GEN, // 24 magenta empty
|
|
IDB_SAMURAI_GEN, // 25 cyan empty
|
|
IDB_SAMURAI_GEN, // 26 yellow empty
|
|
IDB_SAMURAI_GEN, // 27 black missing
|
|
IDB_SAMURAI_GEN, // 28 magenta missing
|
|
IDB_SAMURAI_GEN, // 29 cyan missing
|
|
IDB_SAMURAI_GEN, // 30 yellow missing
|
|
IDB_SAMURAI_GEN, // 31 tray1 empty
|
|
IDB_SAMURAI_GEN, // 32 tray2 empty
|
|
IDB_SAMURAI_GEN, // 33 tray3 empty
|
|
IDB_SAMURAI_GEN, // 34 tray1 jam
|
|
IDB_SAMURAI_GEN, // 35 tray2 jam
|
|
0};
|
|
|
|
|
|
UINT LOQUILLOstatusResList[MAX_ASYNCH_STATUS] =
|
|
{IDB_LOQUILLO_GEN, // 0 printer error
|
|
IDB_LOQUILLO_DOOROPEN,// 1 door open
|
|
IDB_LOQUILLO, // 2 warmup
|
|
IDB_LOQUILLO, // 3 reset
|
|
IDB_LOQUILLO_GEN, // 4 outbin full
|
|
IDB_LOQUILLO_GEN, // 5 paper jam
|
|
IDB_LOQUILLO_GEN, // 6 toner gone
|
|
IDB_LOQUILLO_NOMEDIA,// 7 manual feed
|
|
IDB_LOQUILLO_MEDIAOUT,// 8 paper out
|
|
IDB_LOQUILLO_GEN, // 9 page punt
|
|
IDB_LOQUILLO_GEN, // 10 memory out
|
|
IDB_LOQUILLO_GEN, // 11 offline
|
|
IDB_LOQUILLO_GEN, // 12 intervention
|
|
IDB_LOQUILLO, // 13 initializing
|
|
IDB_LOQUILLO_GEN, // 14 toner low
|
|
IDB_LOQUILLO_PRINTING,// 15 printing test page
|
|
IDB_LOQUILLO_PRINTING,// 16 printing
|
|
IDB_LOQUILLO, // 17 online
|
|
IDB_LOQUILLO, // 18 busy
|
|
IDB_LOQUILLO_GEN, // 19 not connected
|
|
IDB_LOQUILLO_GEN, // 20 status unavailable
|
|
IDB_LOQUILLO_NETWORK, // 21 network error
|
|
IDB_LOQUILLO_GEN, // 22 communication error
|
|
IDB_LOQUILLO_GEN, // 23 black empty
|
|
IDB_LOQUILLO_GEN, // 24 magenta empty
|
|
IDB_LOQUILLO_GEN, // 25 cyan empty
|
|
IDB_LOQUILLO_GEN, // 26 yellow empty
|
|
IDB_LOQUILLO_GEN, // 27 black missing
|
|
IDB_LOQUILLO_GEN, // 28 magenta missing
|
|
IDB_LOQUILLO_GEN, // 29 cyan missing
|
|
IDB_LOQUILLO_GEN, // 30 yellow missing
|
|
IDB_LOQUILLO_NOMEDIA,// 31 tray1 empty
|
|
IDB_LOQUILLO_GEN, // 32 tray2 empty
|
|
IDB_LOQUILLO_GEN, // 33 tray3 empty
|
|
IDB_LOQUILLO_GEN, // 34 tray1 jam
|
|
IDB_LOQUILLO_GEN, // 35 tray2 jam
|
|
IDB_LOQUILLO_GEN, // 36 tray3 jam
|
|
IDB_LOQUILLO, // 37 powersave
|
|
};
|
|
|
|
|
|
// variables to identify the plotter
|
|
|
|
DWORD deviceID;
|
|
|
|
|
|
|
|
// DLL required functions
|
|
/****************************************************************************
|
|
FUNCTION: LibMain(HANDLE, DWORD, LPVOID)
|
|
|
|
PURPOSE: LibMain is called by Windows when
|
|
the DLL is initialized, Thread Attached, and other times.
|
|
Refer to SDK documentation, as to the different ways this
|
|
may be called.
|
|
|
|
The LibMain function should perform additional initialization
|
|
tasks required by the DLL. In this example, no initialization
|
|
tasks are required. LibMain should return a value of 1 if
|
|
the initialization is successful.
|
|
|
|
*******************************************************************************/
|
|
|
|
#ifdef WIN32
|
|
BOOL WINAPI DllMain (HANDLE hDLL, DWORD dwReason, LPVOID lpReserved)
|
|
{
|
|
if ( dwReason == DLL_PROCESS_ATTACH )
|
|
hInstance = hDLL;
|
|
return 1;
|
|
}
|
|
#else
|
|
|
|
int __export CALLING_CONVEN LibMain(HANDLE hModule, WORD wDataSeg, WORD cbHeapSize, LPSTR lpszCmdLine)
|
|
{
|
|
hInstance = hModule;
|
|
return 1;
|
|
}
|
|
//.......................................................................
|
|
int FAR PASCAL __export WEP (int bSystemExit)
|
|
{
|
|
return (1);
|
|
} // WEP()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
FUNCTION: AppletGetGraphics(HPERIPHERAL, DWORD, UINT FAR *, UINT FAR *,
|
|
HINSTANCE *)
|
|
|
|
PURPOSE: Get the bitmaps for the different statuses, for each plotter.
|
|
|
|
*******************************************************************************/
|
|
|
|
DLL_EXPORT(DWORD) CALLING_CONVEN AppletGetGraphics(
|
|
HPERIPHERAL hPeripheral, // device handle
|
|
DWORD status, // device status ID
|
|
UINT FAR *modelResID, // bitmap with status included
|
|
UINT FAR *statusResID, // always 0
|
|
HINSTANCE *phInstance) // module for the resources
|
|
{
|
|
DWORD result;
|
|
|
|
// identify the plotter
|
|
result = DBGetDeviceID(hPeripheral, &deviceID);
|
|
|
|
if (result != RC_SUCCESS)
|
|
{
|
|
#if defined(_DEBUG)
|
|
//MessageBox(NULL, TEXT("device ID non accessible in Database"),TEXT("Cola error"),MB_OK);
|
|
TRACE0(TEXT("HPLOTUI: Cola error - device ID non accessible in Database.\n\r"));
|
|
#endif
|
|
return(RC_FAILURE);
|
|
}
|
|
|
|
|
|
if ( status < MAX_ASYNCH_STATUS )
|
|
|
|
switch(deviceID)
|
|
{
|
|
case PTR_DJ650C:
|
|
*modelResID = FLAMINGO_PEACOCKstatusResList[status];
|
|
break;
|
|
|
|
case PTR_DJ:
|
|
case PTR_DJ600:
|
|
*modelResID = SAMURAIstatusResList[status];
|
|
break;
|
|
|
|
case PTR_DJ750C:
|
|
case PTR_DJ755CM:
|
|
*modelResID = LOQUILLOstatusResList[status];
|
|
break;
|
|
|
|
case PTR_DJ200:
|
|
case PTR_DJ220:
|
|
*modelResID = PENGUIN_CLIPPERstatusResList[status];
|
|
break;
|
|
|
|
case PTR_DJ250C:
|
|
case PTR_DJ350C:
|
|
*modelResID = PARROTstatusResList[status];
|
|
break;
|
|
|
|
case PTR_DJ230:
|
|
case PTR_DJ330:
|
|
*modelResID = RAVENstatusResList[status];
|
|
break;
|
|
|
|
default:
|
|
{
|
|
#if defined(_DEBUG)
|
|
//MessageBox(NULL, TEXT("DesignJet ID not supported for bitmaps"),TEXT("Processing error"),MB_OK);
|
|
TRACE0(TEXT("HPLOTUI: Processing error - DesignJet ID not supported for bitmaps.\n\r"));
|
|
#endif
|
|
|
|
*modelResID = LOQUILLOstatusResList[status];
|
|
|
|
} // default bitmap set
|
|
break;
|
|
|
|
} // switch device ID, if status is known
|
|
|
|
|
|
else // unknown status ID
|
|
{
|
|
#if defined(_DEBUG)
|
|
//MessageBox(NULL, TEXT("status not supported for bitmaps"),TEXT("Processing error"),MB_OK);
|
|
TRACE0(TEXT("HPLOTUI: Processing error - status not supported for bitmaps.\n\r"));
|
|
#endif
|
|
|
|
*modelResID = IDB_DESIGNJET;
|
|
|
|
} // unknown status ID
|
|
|
|
|
|
*statusResID = 0;
|
|
*phInstance = hInstance;
|
|
|
|
|
|
return(RC_SUCCESS);
|
|
}
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
FUNCTION: AppletGetTabPages(HPERIPHERAL , LPTABINFOENTRY, LPDWORD, DWORD)
|
|
|
|
PURPOSE: Get the additionnal tab sheets.
|
|
|
|
*******************************************************************************/
|
|
|
|
DLL_EXPORT(DWORD) CALLING_CONVEN AppletGetTabPages(
|
|
HPERIPHERAL hPeripheral, // device handle
|
|
LPPROPSHEETPAGE lpPages, // additionnal tab sheets
|
|
LPDWORD lpNumPages, // number of additionnal tab sheets
|
|
DWORD typeToReturn) // type of additionnal tab sheets
|
|
|
|
{
|
|
DWORD result;
|
|
DWORD res1,res2;
|
|
PeripheralPlotterInputTray mediaInfo;
|
|
PeripheralPlotterStatus plotterStatus;
|
|
DWORD dwSize;
|
|
|
|
|
|
// media tab sheet declaration for JetAdmin
|
|
TabInfoEntry tabBase = {sizeof(TabInfoEntry),
|
|
TAB_SHEET_DEFAULTS,
|
|
hInstance,
|
|
MAKEINTRESOURCE(IDD_MEDIA_SHEET),
|
|
MAKEINTRESOURCE(IDI_hplogo),
|
|
MAKEINTRESOURCE(IDS_TAB_MEDIA_SHEET),
|
|
MediaSheetProc,
|
|
(LONG)hPeripheral,
|
|
TS_WIN95_SYSTEM};
|
|
|
|
|
|
// If JetAdmin wants config pages, do nothing.
|
|
if (typeToReturn & TS_CONFIG)
|
|
{
|
|
*lpNumPages = 0;
|
|
return (RC_FAILURE);
|
|
}
|
|
|
|
|
|
// identify the plotter
|
|
result = DBGetDeviceID(hPeripheral, &deviceID);
|
|
|
|
if (result != RC_SUCCESS)
|
|
{
|
|
#if defined(_DEBUG)
|
|
//MessageBox(NULL, TEXT("device ID non accessible in Database"),TEXT("Cola error"),MB_OK);
|
|
TRACE0(TEXT("HPLOTUI: Cola error - device ID non accessible in Database.\n\r"));
|
|
#endif
|
|
|
|
return(RC_FAILURE);
|
|
}
|
|
|
|
|
|
if ((deviceID != PTR_DJ750C) && (deviceID != PTR_DJ755CM))
|
|
return (RC_FAILURE);
|
|
|
|
|
|
|
|
// for Loquillo only
|
|
|
|
|
|
// only show this tab sheet if media information in available for the plotter
|
|
dwSize = sizeof(PeripheralPlotterInputTray);
|
|
res1 = PALGetObject(hPeripheral, OT_PERIPHERAL_PLOTTER_INPUT_TRAY, 0,
|
|
&mediaInfo, &dwSize);
|
|
|
|
dwSize = sizeof(PeripheralPlotterStatus);
|
|
res2 = PALGetObject(hPeripheral, OT_PERIPHERAL_PLOTTER_STATUS, 0,
|
|
&plotterStatus, &dwSize);
|
|
|
|
|
|
if ((res2 != RC_SUCCESS)
|
|
|| ((res2 == RC_SUCCESS)
|
|
&& (res1 != RC_SUCCESS)
|
|
&& !(plotterStatus.PlotterPrintEngineWarnings & PML_TRAY_EMPTY))
|
|
)
|
|
{
|
|
#if defined(_DEBUG)
|
|
//MessageBox(NULL, TEXT("tab sheet info unavailable"),TEXT("PML non accessible"),MB_OK);
|
|
TRACE0(TEXT("HPLOTUI: PML non accessible - tab sheet info unavailable.\n\r"));
|
|
#endif
|
|
|
|
*lpNumPages = 0;
|
|
|
|
|
|
} // PML media info non accessible
|
|
|
|
|
|
else
|
|
{
|
|
_fmemcpy(lpPages, &tabBase, sizeof(TabInfoEntry));
|
|
*lpNumPages = 1; // only one page
|
|
|
|
} // PML media info accessible
|
|
|
|
|
|
return(RC_SUCCESS);
|
|
}
|
|
|
|
extern DLL_EXPORT(DWORD) CALLING_CONVEN AppletInfo(
|
|
DWORD dwCommand,
|
|
LPARAM lParam1,
|
|
LPARAM lParam2)
|
|
|
|
{
|
|
APPLETDEVICE info[] = {
|
|
|
|
#ifdef WIN32
|
|
#define FILE_NAME TEXT("HPLOTUI.HPA")
|
|
#else
|
|
#define FILE_NAME TEXT("HPTUI16.HPA")
|
|
#endif
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 200"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 220"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 230"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 250C"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 330"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 350C"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 600"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 650C"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 750C"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
|
|
{sizeof(APPLETDEVICE), FILE_NAME,
|
|
TEXT("HP DesignJet 755CM"),
|
|
APPLET_PRINTER, APPLET_LIBRARY_UI, 0, APPLET_DEFAULTS},
|
|
};
|
|
|
|
switch(dwCommand)
|
|
{
|
|
case APPLET_INFO_GETCOUNT:
|
|
return(sizeof(info) / sizeof(APPLETDEVICE));
|
|
break;
|
|
|
|
case APPLET_INFO_DEVICE:
|
|
if ( lParam1 < sizeof(info) / sizeof(APPLETDEVICE) )
|
|
{
|
|
memcpy((LPAPPLETDEVICE)lParam2, &(info[lParam1]), sizeof(APPLETDEVICE));
|
|
return(TRUE);
|
|
}
|
|
return(FALSE);
|
|
break;
|
|
|
|
default:
|
|
return(FALSE);
|
|
}
|
|
}
|
|
|
|
|
|
|