12-14 Chapter 12: Cash Drawer Interface
{
// Error logged in ReadIOPort
RetStatus = CDD_E_IOFAILURE;
Result = _T("I/O read operation failed");
}
// Darlington 0 = solenoid de-activated, 1 = ARM de-activated
else if ( !WriteIOPort( sBytes & bMask,
m_nIOPort))
{
// Error logged in WriteIOPort
RetStatus = CDD_E_IOFAILURE;
Result = _T("I/O write operation failed");
}
else
{
RetStatus = CDD_SUCCESS;
Result = _T("Success");
m_bIFOpened = TRUE; //InterFace is OPENed
// initialize Position variable in aCDData array element
GetDrawerStatusLIO();
}
return RetStatus;
}
///////////////////////////////////////////////////////////////////////
void ClosePort()
{
if ( m_bIFOpened )
{
m_bIFOpened = FALSE;
}
}
//////////////////////////////////////////////////////////////////////////////
// CDevice7402::OpenDrawer [called from polling thread]
long OpenDrawer()
{
long RetStatus;
CString RetString;