Поделиться через


BarcodeScannerErrorOccurred

Это событие возникает при возникновении ошибки, например при сканировании. Буфер данных для этого события выглядит следующим образом.

Синтаксис

// Error occurred data should fill the ReadFile buffer in this order:
//    PosBarcodeScannerErrorOccurredEventData structure (length = sizeof(PosBarcodeScannerErrorOccurredEventData))
//    Error Message (length = MessageLength)
//    Scan Data (length = ScanDataLength)
//    Scan Data Label (length = ScanDataLabelLength)

typedef struct _PosBarcodeScannerErrorOccurredEventData
{
    PosEventDataHeader Header;
    LONG IsRetriable;
    UnifiedPosErrorSeverity Severity;
    UINT32 VendorErrorCode;
    UnifiedPosErrorReason Reason;
    UINT32 ExtendedReason;
    UINT32 MessageLength;
    PosBarcodeScannerDataReceivedEventData PartialData;
} PosBarcodeScannerErrorOccurredEventData;

В следующей таблице показан макет памяти буфера данных для этого события.

Значение памяти Описание
0x00000006 EventType = PosEventType:: BarcodeScannerTriggerPressed
UINT32 DataLength = sizeof(PosBarcodeScannerErrorOccurredData) + MessageLength + ScanDataLength + ScanDataLabelLength)
BOOL IsRetriable
32-разрядная версия UnifiedPosErrorSeverity Уровень серьезности
UINT32 VendorErrorCode
32-разрядная версия UnifiedPosErrorReason Причина
UINT32 ExtendedReason
UINT32 MessageLength
PosBarcodeScannerDataReceivedEventData PartialData
UINT32 EventType не указан
UINT32 DataLength = sizeof(PosBarcodeScannerDataRecievedEventData) + MessageLength + ScanDataLabelLength + )
UINT32 Тип данных не указан
UINT32 ScanDataLength
UINT32 ScanDataLabelLength
байт [] MessageLength-байт сообщения
байт [] Байты данных метки ScanDataLength
байт [] ScanDataLabelLength байтов данных сканирования

Комментарии

Если произошла ошибка сканирования и были получены некоторые данные сканирования, данные события содержат данные частичного сканирования.

Требования

Заголовок: pointofservicedriverinterface.h