当前位置:首页 > WOSA/XFS 3.10 中文版 05
Page 29
CWA 15748-5:2008
4.7 WFS_INF_CDM_MIX_TABLE 描述:
此命令用于获取提供混合数据的指定隐藏混合表。
输入参数: LPUSHORT lpusMixNumber;
lpusMixNumber
指向被请求的隐藏混合表的数字。
输出参数: LPWFSCDMMIXTABLE lpMixTable; typedef struct _wfs_cdm_mix_table
{
USHORT usMixNumber; LPSTR lpszName; USHORT usRows; USHORT usCols;
LPULONG lpulMixHeader; LPWFSCDMMIXROW *lppMixRows;
} WFSCDMMIXTABLE, *LPWFSCDMMIXTABLE;
错误代码:注释:
usMixNumber 隐藏混合表的识别数字。 lpszName 指向表的名字。 usRows
隐藏混合表的行数。每个不同的总金额至少有一行表示。如果根据当前钞箱状态取走的是第一行,那么更多的行数是没必要的。
usCols隐藏混合表的列数。清楚的表明隐藏混合表中每项的意思。 lpulMixHeader
指向长度为usCols的unsigned longs类型数组。每个元素定义为对应列的钞币相关值。(参考WFS_INF_CDM_CURRENCY_EXP) lppMixRows
指向一个WFSCDMMIXROW结构体指针数组(usRows的长度) typedef struct _wfs_cdm_mix_row
{
ULONG ulAmount; LPUSHORT lpusMixture; } WFSCDMMIXROW, *LPWFSCDMMIXROW; ulAmount
此混合行的命名总数。(参考WFS_INF_CDM_CURRENCY_EXP) lpusMixture
指向混合行长度为usCols的unsigned integers型数组。每个元素定义为各个被使用的混合钞币面额,元素总数量为ulAmount。
除了定义在[参考一]的一般错误代码外,下列错误代码可能产生:
值
涵义
WFS_ERR_CDM_INVALIDMIXNUMBER lpusMixNumber参数不符合混合表中的预定义
无。
Page 30
CWA 15748-5:2008
4.8 WFS_INF_CDM_PRESENT_STATUS 描述:
此命令用于获取最近尝试分配或呈现给客户的钞币的状态。此钞币由于WFS_CMD_CDM_PRESENT或WFS_CMD_CDM_DISPENSE命令可能已经被分配或呈现给客户。如果没有其他的分配或呈现钞币命令,此状态不会改变。
状态值将持续有效直到下一次尝试分配或呈现钞币给客户。
如果钞箱已经被重新配置过,此命令的报告可能不会准确的反映出操作信息。 (例如:钞箱的相关值被改变或新的钞箱被配置)
输入参数: LPWORD lpfwPosition;
lpfwPosition
指向钞币被分配或呈现的输出位。将会是下列中的值: 值
WFS_CDM_POSNULL WFS_CDM_POSLEFT WFS_CDM_POSRIGHT WFS_CDM_POSCENTER WFS_CDM_POSTOP WFS_CDM_POSBOTTOM WFS_CDM_POSFRONT WFS_CDM_POSREAR
输出参数: LPWFSCDMPRESENTSTATUS lpPresentStatus;
typedef struct _wfs_cdm_present_status
{ LPWFSCDMDENOMINATION lpDenomination; WORD wPresentState;
LPSTR lpszExtra;
} WFSCDMPRESENTSTATUS, *LPWFSCDMPRESENTSTATUS;
lpDenomination
指向WFSCDMDENOMINATION结构体,它包含了分配总额和从每个钞箱分配的钞币数。关于WFSCDMDENOMINATION结构体的描述请参看WFS_CMD_CDM_DENOMINATE命令中的定义。
混合币种被分配时,面额结构里的ulAmount参数将为零且cCurrency的值被设置成为三个ASCII为0x20h的字符。
wPresentState
提供最后分配和呈现的操作状态。可能的值为:
值
WFS_CDM_PRESENTED WFS_CDM_NOTPRESENTED WFS_CDM_UNKNOWN
涵义
钞币被分配。此状态客户将尽可能快的获得钞币 客户一直不能获得钞币 无法得知客户存取钞币 涵义
钞币通过默认配置被分配 钞币通过左边输出位被分配 钞币通过右边输出位被分配 钞币通过中间输出位被分配 钞币通过上面输出位被分配 钞币通过下面输出位被分配 钞币通过前面输出位被分配 钞币通过后面输出位被分配
Page 31
CWA 15748-5:2008
lpszExtra
指向厂商特有或任何其它扩展信息的一个列表。返回信息为一系列“键=值”字符串以便SP进行轻松扩展。每一个字符串都是以空字符NULL结束的,最后一个字符串以两个空字符NULL结束。一个空列表可通过一个空指针或两个连续的空字符NULL来表示。
错误代码:此命令仅产生定义在[参考一]的一般错误代码。
注释: 无。
Page 32
CWA 15748-5:2008
5. 执行命令
5.1 WFS_CMD_CDM_DENOMINATE
描述: 此命令提供一个面额。面额所指定的数目需要依靠每个钞箱的支持来满足。面额取决于货币,混合算法及提
供面额的任何部分都要被应用程序支持。
此命令也被用于确认应用程序可以分配的任何有效面额。
如果不同的币种拥有相同的面额,货币名必须为一个三ASCII 0x20h 字符的数组,总额必须为零,而且混合数必须为WFS_CDM_INDIVIDUAL。然而,此约定并不被应用在单币种或非货币的情况下,例如息票。 如果WFS_INF_CDM_CAPABILITIES命令返回的结构体WFSCDMCAPS中的bCashBox值为TRUE,假设全部面额不能被满足,那么将返回部分面额,缺少的面额由现金盒来提供。
此命令被使用于四个不同的情况:
1. 为了检查是否能够分配特定的面额,命令输入的参数为币种和面额,混合算法为WFS_CDM_INDIVIDUAL,
总额为零。如果不同的币种被分配,货币名必须为一个三ASCII 0x20h 字符的数组。
2. 为了使特定总额,特定面额和可能分配的面额有效。命令输入的参数为总额,币种和面额,混合算法为
WFS_CDM_INDIVIDUAL。
3. 为了获得特定金额的面额,输入的参数必须有总额,币种和混合数。
4. 为了完成特定金额的部分面额,输入参数必须有币种,总额,混合数和特定面额部分或现金盒最小金额
中的一个,完成的面额被返回。此命令执行后,面额结构中的ulCashBox参数将被修改。
输入参数: LPWFSCDMDENOMINATE lpDenominate;
typedef struct _wfs_cdm_denominate {
USHORT usTellerID; USHORT usMixNumber; LPWFSCDMDENOMINATION lpDenomination; } WFSCDMDENOMINATE, *LPWFSCDMDENOMINATE;
usTellerID
识别柜员机。如果设备是自助服务CDM,参数将被忽略。
usMixNumber
混合算法或隐藏结构表被使用。
lpDenomination
指向一个WFSCDMDENOMINATION结构体,描述操作面额的上下文信息。
typedef struct _wfs_cdm_denomination
{
CHAR cCurrencyID[3]; ULONG ulAmount; USHORT usCount; LPULONG lpulValues; ULONG ulCashBox;
} WFSCDMDENOMINATION, *LPWFSCDMDENOMINATION;
共分享92篇相关文档