Description This command is used to start the exchange of cash units as well as their emptying, replenishment, removal or replacement. The command returns the current values in the device and the device itself initiates cash unit removal (for example by means of lowering the cash units). A WFSLock should be performed before this command is initiated, to ensure exclusive control by the replenishment application.
After WFS_CMD_CDM_START_EXCHANGE has been successfully initiated, the CDM enters the exchange state, and accepts only the following functions:
Any other commands issued when the CDM service is in the exchange state are rejected with an error condition of WFS_ERR_CDM_EXCHANGEACTIVE. If an error occurs at the CDM during the execution of this command, the cash unit values are not returned.
Input Param LPWFSCDMSTARTEX lpStartEx;
typedef struct _wfs_cdm_start_ex
{
USHORT usTellerID;
USHORT usCount;
LPUSHORT lpusCUNumList;
} WFSCDMSTARTEX, * LPWFSCDMSTARTEX;
usTellerID
Identification of teller.
usCount
Number of cash units to be exchanged. Size of the array lpusCUNumList.
lpusCUNumList
Pointer to a list of the logical numbers (unsigned shorts) of the cash units to be exchanged.
Output Param LPWFSCDMCUINFO lpCUInfo
;
For a description of the WFSCDMCUINFO structure, see the definition of the WFS_INF_CDM_CASH_UNIT_INFO command.
Error Codes The following additional error codes can be generated by this command:
Value Meaning
WFS_ERR_CDM_EXCHANGEACTIVE The CDM service is already in an exchange state.
WFS_ERR_CDM_INVALIDTELLERID Teller ID not present in service provider’s teller ID list
Events There are no additional events generated by this command.
Comments None.