// Pmac.h : main header file for the PMAC DLL
|
//
|
|
#if !defined(AFX_PMAC_H__F9437814_080F_4362_9C63_7FC2518B1479__INCLUDED_)
|
#define AFX_PMAC_H__F9437814_080F_4362_9C63_7FC2518B1479__INCLUDED_
|
|
#if _MSC_VER > 1000
|
#pragma once
|
#endif // _MSC_VER > 1000
|
|
#ifndef __AFXWIN_H__
|
#error include 'stdafx.h' before including this file for PCH
|
#endif
|
|
#include "resource.h" // main symbols
|
#include "DOWNLOAD.H" // Added by ClassView
|
#include "pmacserver.h"
|
|
/////////////////////////////////////////////////////////////////////////////
|
// CPmacApp
|
// See Pmac.cpp for the implementation of this class
|
//
|
|
class CPmacApp : public CWinApp
|
{
|
public:
|
BOOL OnLine(DWORD dwDevice);
|
BOOL OnLine(LOCATIONTYPE loc, DWORD dwEnum);
|
DWORD m_dwUserCount[MAX_MOTION_DEVICES];
|
BOOL ReferenceInterrupts(LOCATIONTYPE loc,DWORD dwEnum);
|
BOOL InitDeviceSerialPort(DWORD dwDevice);
|
BOOL SetAsciiComm(LOCATIONTYPE loc,DWORD dwEnum,ASCIIMODE mode);
|
DWORD MapDeviceNumToEnum(LOCATIONTYPE loc,DWORD dwEnum);
|
DWORD MapLocAndEnumFromDeviceNum(DWORD dwDevNum, LOCATIONTYPE *loc,DWORD *dwEnum);
|
|
BOOL DownloadFirmware(DWORD dwDevice);
|
void UnRegisterDevice(DWORD dwDevice);
|
void RegisterDevice(DWORD dwDevice,LOCATIONTYPE type,DWORD port);
|
BOOL RegisteredDevice(LOCATIONTYPE type,DWORD port,PDWORD pdwDevice);
|
BOOL ConfigureDevice(DWORD dwDevice,LOCATIONTYPE lt);
|
BOOL SetDeviceDword(DWORD dwDevice,CString KeyName,DWORD Value);
|
BOOL GetDeviceDword(DWORD dwDevice,CString KeyName,PDWORD pValue,DWORD defValue);
|
BOOL SetDeviceString(DWORD dwDevice,CString KeyName,CString Value);
|
BOOL GetDeviceString(DWORD dwDevice,CString KeyName,CString &Value,CString defValue);
|
BOOL GetRegistryString(CString KeyName,CString &Value,CString defValue);
|
BOOL SetRegistryString(CString KeyName,CString Value);
|
BOOL SetDevicePmacDword(DWORD dwDevice,CString KeyName,DWORD dwValue);
|
BOOL GetDevicePmacDword(DWORD dwDevice,CString KeyName,PDWORD pValue,DWORD defValue);
|
VOID GetDevicePmacParameters(DWORD dwDevice, PCONFIG_LOCATION pLoc);
|
BOOL SetDevicePmacParameters(DWORD dwDevice,CONFIG_LOCATION cfg);
|
BOOL RemoveDeviceKey(DWORD dwDevice);
|
BOOL IsDeviceKeyAvailable(DWORD dwDevice);
|
HKEY OpenDeviceKey(DWORD dwDevice,BOOL bCreate);
|
HKEY OpenRegKey(LPCTSTR Path,BOOL bCreate);
|
|
BOOL OpenPmacDevice(DWORD dwDevice);
|
BOOL ClosePmacDevice(DWORD dwDevice);
|
BOOL ShutdownPmacDevice(DWORD dwDevice,BOOL bForceShutdown);
|
|
BOOL GetCommState(DWORD dwDevice);
|
BOOL SetCommState(DWORD dwDevice);
|
BOOL TransmitCommChar(DWORD dwDevice,TCHAR ch);
|
BOOL PurgeComm(DWORD dwDevice);
|
|
void ClosePmac(LOCATIONTYPE loc,DWORD dwEnum);
|
BOOL OpenPmac(LOCATIONTYPE loc,DWORD dwEnum);
|
HKEY OpenPmacKey(LOCATIONTYPE loc,DWORD dwEnum,BOOL bCreate);
|
BOOL IsPmacKeyAvailable(LOCATIONTYPE loc,DWORD dwEnum);
|
BOOL SetPmacDword(LOCATIONTYPE loc,DWORD dwEnum,CString KeyName,DWORD Value);
|
BOOL GetPmacDword(LOCATIONTYPE loc,DWORD dwEnum,CString KeyName,PDWORD pValue,DWORD defValue);
|
BOOL SetPmacString(LOCATIONTYPE loc,DWORD dwEnum,CString KeyName,CString Value);
|
BOOL GetPmacString(LOCATIONTYPE loc,DWORD dwEnum,CString KeyName,CString &Value,CString defValue);
|
BOOL DetectDevice(DWORD dwDevice,PDWORD pdwError);
|
BOOL DetectPmac(LOCATIONTYPE loc,DWORD dwEnum,PDWORD pdwError);
|
VOID GetPmacParameters(LOCATIONTYPE loc, DWORD dwEnum, PCONFIG_LOCATION pCfg );
|
BOOL SetPmacParameters(LOCATIONTYPE loc, DWORD dwEnum, CONFIG_LOCATION cfg);
|
BOOL DownloadFirmware(LOCATIONTYPE loc, DWORD dwEnum);
|
BOOL IsPmacInBootstrap(DWORD dwDevice,LOCATIONTYPE loc,DWORD dwEnum);
|
|
int DownloadFirmwareFile(LOCATIONTYPE loc,DWORD dwEnum, DOWNLOADMSGPROC msgp,
|
DOWNLOADPROGRESS prgp, LPCTSTR filename );
|
static void _cdecl FirmwareThread( PVOID pVoid );
|
static void _cdecl FirmwareThreadUSB( PVOID pVoid );
|
static void _cdecl FirmwareThreadETH( PVOID pVoid );
|
|
// These functions are for kernel driver access using the Service Control
|
// Manager of NT / 2000. PNP does not require these only our legacy ISA
|
BOOL SC_CreateNode(LPCTSTR DriverName, BOOL bCreate );
|
BOOL SC_LoadKernelDriver(LPCTSTR DriverName);
|
BOOL SC_UnloadKernelDriver(LPCTSTR DriverName);
|
BOOL SC_IsDriverLoaded(LPCTSTR DriverName);
|
BOOL SC_ConfigureDriver(LOCATIONTYPE loc,DWORD dwEnum,PVOID Context);
|
|
CPmacApp();
|
|
DOWNLOAD m_download;
|
int m_lastError;
|
DWORD m_dwDevice;
|
HANDLE m_hDriver[MAX_PMAC_LOCATIONS][MAX_MOTION_DEVICES];
|
DEVICEINTARRAY m_Interrupts[MAX_MOTION_DEVICES];
|
IPmacService *m_pServer;
|
HANDLE hSourceProcess;
|
|
// Overrides
|
// ClassWizard generated virtual function overrides
|
//{{AFX_VIRTUAL(CPmacApp)
|
public:
|
virtual BOOL InitInstance();
|
virtual int ExitInstance();
|
virtual BOOL InitApplication();
|
//}}AFX_VIRTUAL
|
|
//{{AFX_MSG(CPmacApp)
|
// NOTE - the ClassWizard will add and remove member functions here.
|
// DO NOT EDIT what you see in these blocks of generated code !
|
//}}AFX_MSG
|
DECLARE_MESSAGE_MAP()
|
};
|
|
extern CPmacApp theApp;
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//{{AFX_INSERT_LOCATION}}
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
#endif // !defined(AFX_PMAC_H__F9437814_080F_4362_9C63_7FC2518B1479__INCLUDED_)
|