简体   繁体   English

如何使用“ WFS_CMD_CIM_CONFIGURE_NOTETYPES”命令在XFS中配置便笺类型

[英]How to configure the note types in XFS with the 'WFS_CMD_CIM_CONFIGURE_NOTETYPES' command

I want to configure specific note types during cash in operation 我想在现金操作期间配置特定的便笺类型

Input parameter should be in the following format: LPUSHORT lpusNoteIDs; 输入参数应采用以下格式: LPUSHORT lpusNoteIDs;

When I execute the below commands I get invalid data error (-52) 当我执行以下命令时,出现无效数据错误(-52)

LPUSHORT* lpusNoteIDs;  
lpusNoteIDs = (LPUSHORT*)malloc(7*sizeof(LPUSHORT));
for(int i =0;i<7;i++)
{
    lpusNoteIDs[i]=(LPUSHORT)malloc(sizeof(USHORT));
}

lpusNoteIDs[0] = (LPUSHORT)0x2700;
lpusNoteIDs[1] = (LPUSHORT)0x2710;
lpusNoteIDs[2] = (LPUSHORT)0x2701;
lpusNoteIDs[3] = (LPUSHORT)0x2711;
lpusNoteIDs[4] = (LPUSHORT)0x2721;
lpusNoteIDs[5] = (LPUSHORT)0x2732;
lpusNoteIDs[6] = (LPUSHORT)0x2704;
hResult = WFSExecute(hService, WFS_CMD_CIM_CONFIGURE_NOTETYPES, (LPVOID)lpusNoteIDs, 400000, &res);
return (int)hResult;

I have even tried the below code but it gives me the same error 我什至尝试了以下代码,但它给了我同样的错误

LPUSHORT* lpusNoteIDs;
USHORT abc[]={1000,9985,10001,10017,10034,9988};
lpusNoteIDs=(LPUSHORT*)abc;
hResult = WFSExecute(hService, WFS_CMD_CIM_CONFIGURE_NOTETYPES,(LPVOID)lpusNoteIDs, 600000, &res);
return (int)hResult;

In CIM Service Provider Implementation Specification document it says: CIM服务提供商实施规范文档中说:

lpusNoteIDs :-Pointer to a NULL terminated list of unsigned shorts which contains the note IDs of the bank notes lpusNoteIDs:指向无符号短裤的NULL终止列表的指针,该列表包含银行票据的纸币ID

Any help as to how the values must be passed would be very useful.. Thanks in advance. 关于必须如何传递值的任何帮助将非常有用。

You must use WFMAllocate and WFMAllocateMore functions to allocate memory for XFS structures to transfer it between application and service provider. 您必须使用WFMAllocate和WFMAllocateMore函数为XFS结构分配内存,以便在应用程序和服务提供者之间转移内存。 Your example bellow: 您的示例如下:

LPUSHORT lpusNoteIDs = NULL;
const int countNotes = 7;
// Always use WFMAllocate* functions for XFS memory allocation
WFSRESULT hr = WFMAllocateBuffer(sizeof(USHORT)*(countNotes+1), WFS_MEM_ZEROINIT|WFS_MEM_SHARE, (void**)&lpusNoteIDs);

// Fill note ID's
lpusNoteIDs[0] = (USHORT)0x2700;
lpusNoteIDs[1] = (USHORT)0x2710;
lpusNoteIDs[2] = (USHORT)0x2701;
lpusNoteIDs[3] = (USHORT)0x2711;
lpusNoteIDs[4] = (USHORT)0x2721;
lpusNoteIDs[5] = (USHORT)0x2732;
lpusNoteIDs[6] = (USHORT)0x2704;

hr = WFSExecute(hService, WFS_CMD_CIM_CONFIGURE_NOTETYPES, (LPVOID)&lpusNoteIDs, 400000, &res);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM