服务点 (POS)
服务点 (POS) 设备驱动程序技术的概述。
若要开发服务点 (POS) 设备驱动程序,需要以下标头:
有关编程指南,请参阅 服务点 (POS) 。
IOCTL
IOCTL_POINT_OF_SERVICE_CHECK_HEALTH 此 I/O 控制函数检查设备运行状况。 |
IOCTL_POINT_OF_SERVICE_CLAIM_DEVICE I/O 控制函数声明设备进行独占访问。 |
IOCTL_POINT_OF_SERVICE_GET_DEVICE_BASICS 此 I/O 控制函数获取驱动程序指定的设备类型、版本和建议的缓冲区大小。 |
IOCTL_POINT_OF_SERVICE_GET_PROPERTY 此 I/O 控制函数从设备驱动程序返回指定属性的值。 |
IOCTL_POINT_OF_SERVICE_MSR_AUTHENTICATE_DEVICE 此 IO 控制函数 (MSR) 对磁条读取器进行身份验证。 |
IOCTL_POINT_OF_SERVICE_MSR_DEAUTHENTICATE_DEVICE 此 I/O 控制函数 (MSR) 取消对磁条读取器的身份验证。 |
IOCTL_POINT_OF_SERVICE_MSR_RETRIEVE_DEVICE_AUTHENTICATION 此 I/O 控制函数检索设备身份验证类型。 |
IOCTL_POINT_OF_SERVICE_MSR_UPDATE_KEY 此 I/O 控制函数设置新的加密密钥。 |
IOCTL_POINT_OF_SERVICE_RELEASE_DEVICE 当客户端准备好在设备上放弃其声明时,将调用此 I/O 控制函数。 |
IOCTL_POINT_OF_SERVICE_RESET_STATISTICS 此 I/O 控制函数将指定统计信息的值重置为零。 |
IOCTL_POINT_OF_SERVICE_RETAIN_DEVICE 此 I/O 控制函数用于在设备上保留声明,当客户端收到另一个客户端正在对设备上的声明提出异议的通知。 |
IOCTL_POINT_OF_SERVICE_RETRIEVE_STATISTICS 此 I/O 控制函数返回统一服务点 (UPOS) 设备的标准信息,例如其类别、制造商和固件版本号。 |
IOCTL_POINT_OF_SERVICE_SET_PROPERTY 此 I/O 控件函数设置设备上的指定属性。 |
IOCTL_POINT_OF_SERVICE_UPDATE_STATISTICS 此 I/O 控制函数将指定的统计信息设置为输入缓冲区中的值。 |
枚举
BarcodeStatus 此枚举指示条形码扫描仪状态值。 |
BarcodeSymbology 此枚举定义条形码符号。 |
BarcodeSymbologyDecodeLengthType BarcodeSymbologyDecodeLengthType 枚举描述了解码长度的值,这些值可以设置为支持一个范围、两个离散值或设置为任何长度。 |
DriverMagneticStripeReaderAuthenticationLevel 此枚举定义磁条读取器 (MSR) 身份验证支持级别。 |
DriverUnifiedPosErrorReason 此枚举指示错误的原因。 |
DriverUnifiedPosErrorSeverity 此枚举指示错误的严重性。 |
DriverUnifiedPosHealthCheckLevel 此枚举指示在 POS 设备上调用 CheckHealthAsync 时要执行的运行状况检查类型。 |
DriverUnifiedPosPowerReportingType 此枚举定义设备 (支持的电源报告类型,例如高级、标准等) 。 |
DriverUnifiedPosPowerState 此枚举未实现。 |
MsrAuthenticationProtocolType 此枚举定义磁条读取器 (MSR) 身份验证协议。 |
MsrCardType 此枚举定义磁条卡的类型。 |
MsrDataEncryption 此枚举定义磁条读取器 (MSR) 支持的加密算法类型。 |
MsrErrorReportingType 此枚举定义常量,这些常量指示磁条读取器 (MSR) 的错误报告类型。 |
MsrStatusUpdateType 此枚举定义指示磁条读取器 (MSR) 状态的常量。 |
MsrTrackErrorType 此枚举定义磁条读取器轨道错误的类型。 |
MsrTrackIds 定义表示 MSR) 轨迹 (磁条读取器的常量。 |
MstStatisticsEntryType 此枚举定义磁条读取器统计信息的类型。 |
POS_CX_EVENT_ATTRIBUTES POS_CX_EVENT_ATTRIBUTES描述了来自设备的 POS 事件的优先级和访问权限。 这些值是 POS_CX_EVENT_DEST 和 POS_CX_EVENT_PRIORITY 中定义的值的组合。 |
POS_CX_EVENT_DEST POS_CX_EVENT_DEST定义接收此事件的应用程序。 |
POS_CX_EVENT_PRIORITY POS_CX_EVENT_PRIORITY定义事件的重要性及其传递到客户端应用程序的顺序。 |
POSCXFUNCENUM 提供所有 PosCx WDF API 函数的列表。 |
PosDeviceControlType 此枚举定义扫描程序驱动程序和磁条读取器 (MSR) 驱动程序的 IOCTL 的值。 |
PosDeviceType 此枚举定义 PosDeviceBasicsType 结构中使用的值,以指示设备 (的类型,例如条形码扫描仪或磁条阅读器) 。 |
PosEventType 此枚举定义 PosEventDataHeader 结构中使用的值,以指示引发的事件的类型。 |
PosPropertyId 此枚举定义设备驱动程序需要处理的属性的属性标识符,以便将其视为条形码扫描仪或磁条阅读器 (MSR) 。 |
函数
EVT_POS_CX_DEVICE_OWNERSHIP_CHANGE EVT_POS_CX_DEVICE_OWNERSHIP_CHANGE回调是在 API 声明所有权转换期间调用的。 驱动程序应在此例程中将设备设置回默认状态。 |
EVT_POS_CX_DEVICE_REMOTE_CLAIM 当设备从未认领过渡到已声明,并允许驱动程序执行其他工作时,将调用EVT_POS_CX_DEVICE_REMOTE_CLAIM回调。 |
EVT_POS_CX_DEVICE_REMOTE_RELEASE 每当设备释放且没有所有者并允许驱动程序执行其他工作时,将调用EVT_POS_CX_DEVICE_REMOTE_RELEASE回调。 |
EVT_POS_CX_DEVICE_REMOTE_RETAIN 每当 PosCx 尝试在网络设备上保留声明并允许驱动程序执行其他工作时,将调用EVT_POS_CX_DEVICE_REMOTE_RETAIN回调。 |
POS_CX_ATTRIBUTES_INIT POS_CX_ATTRIBUTES_INIT初始化POS_CX_ATTRIBUTE结构。 |
PosCxClaimDevice 调用 PosCxClaimDevice 以声明设备以供独占使用。 当不再需要设备时,调用方应调用 PosCxReleaseDevice。 |
PosCxCleanPendingRequests 调用 PosCxCleanPendingRequests 以取消给定调用方(由打开实例标识)的所有挂起请求。 |
PosCxCleanupEvents 调用 PosCxCleanupEvents 以清理给定调用方(由打开实例标识)的所有挂起事件。 |
PosCxClose 调用 PosCxClose 以删除打开的 PosCx 库实例。 如果调用方是所有者,则此函数释放设备,并取消挂起的请求。 应从驱动程序的EVT_WDF_FILE_CLOSE回调调用它。 |
PosCxGetDeviceInterfaceTag PosCxGetDeviceInterfaceTag 返回在 PosCxOpen 中设置的设备接口标记。 |
PosCxGetPendingEvent PosCxGetPendingEvent 从设备读取回调调用,或者在新事件到达时调用。 |
PosCxInit 调用 PosCxInit 以初始化 PosCx 库的内部资源。 资源绑定到设备,并在设备离开时释放。 |
PosCxIsDeviceOwner PosCxIsDeviceOwner 检查调用方当前是否在设备上拥有声明。 |
PosCxIsPosApp PosCxIsPosApp 检查打开的实例是否与服务点应用程序相关联。 |
PosCxMarkPosApp PosCxMarkPosApp 将打开的实例标记为关联或不与服务点应用程序关联。 |
PosCxOpen 调用 PosCxOpen 以创建一个打开的 PosCx 库实例。 此函数初始化管理单个打开实例所需的所有资源。 应从驱动程序的EVT_WDF_DEVICE_FILE_CREATE回调调用它。 |
PosCxPutPendingEvent PosCxPutPendingEvent 创建新的事件对象,将事件数据复制到新的事件对象,并尝试将其委托给等待调用方。 |
PosCxPutPendingEventMemory PosCxPutPendingEventMemory 尝试将包含事件数据的内存对象委托给等待调用方。 |
PosCxReleaseDevice 调用 PosCxReleaseDevice 以释放以前使用 PosCxClaimDevice 声明的设备。 释放设备后,将提升下一个挂起的声明请求者。 |
PosCxRemoteRequestRelease 每当远程设备要求设备释放时,将调用 PosCxRemoteRequestRelease。 这会启动声明协商。 |
PosCxRetainDevice 调用 PosCxRetainDevice 以扩展设备的所有权。 |
結構
BarcodeSymbologyAttributesData BarcodeSymbologyAttributesData 结构包含条形码符号系统的属性信息。 |
MSR_AUTHENTICATE_DEVICE 此结构提供用于对设备进行身份验证的身份验证信息。 |
MSR_DATA_RECEIVED 此结构包含从刷卡读取的数据。 |
MSR_DEAUTHENTICATE_DEVICE 此结构提供取消对设备进行身份验证所需的信息。 |
MSR_ERROR_EVENT 此结构包含传递给 MagneticStripeReaderErrorOccured 事件的错误数据。 |
MSR_RETRIEVE_DEVICE_AUTHENTICATION_DATA 此结构包含从设备检索的身份验证信息。 |
MSR_SUPPORTED_CARD_TYPES 此结构定义读取器支持的磁条卡类型。 |
MSR_UPDATE_KEY 此结构包含设置新加密密钥所需的信息。 |
POS_CX_ATTRIBUTES POS_CX_ATTRIBUTES 结构包含指向客户端驱动程序实现的事件回调函数的指针。 |
PosBarcodeScanDataTypeData 此结构描述驱动程序支持的条形码符号缓冲区。 |
PosBarcodeScannerCapabilitiesType 此结构定义设备支持的扫描程序功能类型,例如设备是否支持统计信息报告和图像预览。 |
PosBarcodeScannerDataReceivedEventData 此结构包含传递到 BarcodeScannerDataReceived 事件的扫描数据。 |
PosBarcodeScannerErrorOccurredEventData 此结构包含传递到 BarcodeScannerErrorOccurred 事件的错误数据。 |
PosDeviceBasicsType 此结构指示驱动程序指定的设备类型、版本和建议的缓冲区大小。 |
PosDeviceInformation 此结构提供统一服务点 (UPOS) 标准中定义和所需的设备信息。 |
PosEventDataHeader 此结构描述传递到 BarcodeScannerImagePreviewReceived 事件的扫描图像数据。 |
PosMagneticStripeReaderCapabilitiesType 此结构定义设备支持的磁条读取器 (MSR) 功能的类型,例如设备是否支持跟踪数据掩码。 |
PosProfileType 此结构描述缓冲区中的配置文件字符串数。 |
PosStatisticsHeader 此结构定义统一服务点 (UPOS) 设备的标准信息。 此结构是传入统计信息的标头。 |
PosStatusUpdatedEventData 此结构包含传递给 StatusUpdated 事件的数据。 |
PosStringType 此结构表示一个服务点 (POS) unicode 字符串,长度为 DataLengthInBytes。 |
PosValueStatisticsEntry 此结构包含统计信息的值。 |