Appendix A. Sample C++ Cash Drawer Code For Windows - Advantech WP-5530-PD10 User Manual

Wp-5530 series bezel free all-in-one modular wall-mount pos system
Table of Contents

Advertisement

Appendix A. Sample C++ Cash Drawer Code for Windows

NOTE:
//1. Open Cash Drawer
// IOCTL Codes
#define
GPD_TYPE 40000
#define
ADV_OPEN_CTL_CODE
FILE_ANY_ACCESS)
#define
ADV_STATUS_CTL_CODE
FILE_ANY_ACCESS)
void
OpenDrawer(UCHAR uWhichDrawer)
{
// uWhichDrawer = 1 => CD#1, uWhichDrawer = 2 => CD#2
HANDLE hFile;
BOOL bRet;
UCHAR uDrawer = uWhichDrawer;
// Open the driver
hFile = CreateFile("\\\\.\\ADVSYS",GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ |
FILE_SHARE_WRITE, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if
(m_hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox("Unable to open Cash Drawer Device
return;
}
// Turn on the Cash Drawer Output (Fire the required solenoid)
bRet = DeviceIoControl(hFile, ADV_OPEN_CTL_CODE, &uDrawer, sizeof(uDrawer), NULL, 0, &ulBytesReturned,
NULL);
if
(bRet == FALSE || ulBytesReturned != 1)
{
AfxMessageBox("Failed to write to cash drawer
CloseHandle(hFile);
return;
}
CloseHandle(hFile);
}
//2. Get Cash Drawer Status
void
GetDrawerState()
{
HANDLE hFile;
BOOL bRet;
// Open the driver
hFile = CreateFile(TEXT("\\\\.\\ADVSYS"),GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ |
FILE_SHARE_WRITE, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if
(m_hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox("Unable to open Cash Drawer Device
return;
}
// Read the CD status
Requires installation of System Driver. Refer to the System Driver Installation
section for instructions.
CTL_CODE(GPD_TYPE, 0x900, METHOD_BUFFERED,
CTL_CODE(GPD_TYPE, 0x901, METHOD_BUFFERED,
driver");
Driver!");
Driver!");
63

Advertisement

Table of Contents
loading

This manual is also suitable for:

Wp-5530-pd20

Table of Contents