Condividi tramite


MagneticStripeReaderErrorOccured

Questo evento si verifica quando si verifica un errore di lettore di striscia magnetica (MSR), ad esempio un errore di analisi.

Sintassi

typedef struct _MSR_ERROR_EVENT
{
    PosEventDataHeader Header;
    MsrTrackErrorType Track1Status;
    MsrTrackErrorType Track2Status;
    MsrTrackErrorType Track3Status;
    MsrTrackErrorType Track4Status;
    UnifiedPosErrorSeverity Severity;
    UnifiedPosErrorReason Reason;
    UINT32 ExtendedReason;
    MSR_DATA_RECEIVED CardData;
    wchar_t Message[MSR_ERROR_MAX_MESSAGE_LENGTH];
} MSR_ERROR_EVENT, *PMSR_ERROR_EVENT;

Nella tabella seguente viene illustrato il layout di memoria del buffer di dati per questo evento.

Valore di memoria Descrizione
0x00000009 EventType = PosEventType:: MagneticStripeReaderErrorOccurred
UINT32 DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_ERROR_EVENT)
MsrTrackErrorType a 32 bit Track1Status
MsrTrackErrorType a 32 bit Track2Status
MsrTrackErrorType a 32 bit Track3Status
MsrTrackErrorType a 32 bit Track4Status
UnifiedPosErrorSeverity a 32 bit Gravità
UnifiedPosErrorReason a 32 bit Motivo
UINT32 Motivo esteso
MsrCardType a 32 bit CardType
unsigned char Track1EncryptedDataLength
unsigned char Track2EncryptedDataLength
unsigned char Track3EncryptedDataLength
unsigned char Track4EncryptedDataLength
char senza segno [MSR_TRACK_SIZE] Track1EncryptedDataLength byte di dati crittografati di traccia 1
char senza segno [MSR_TRACK_SIZE] Track2EncryptedDataLength byte di dati crittografati di traccia 2
char senza segno [MSR_TRACK_SIZE] Track3EncryptedDataLength byte di dati crittografati di traccia 3
char senza segno [MSR_TRACK_SIZE] Track4EncryptedDataLength byte di dati crittografati di traccia 4
unsigned char Track1MaskedDataLength
unsigned char Track2MaskedDataLength
unsigned char Track3MaskedDataLength
unsigned char Track4MaskedDataLength
char senza segno [MSR_TRACK_SIZE] Track1MaskedDataLength byte di dati mascherati di traccia 1
char senza segno [MSR_TRACK_SIZE] Track2MaskedDataLength byte di dati mascherati traccia 2
char senza segno [MSR_TRACK_SIZE] Track3MaskedDataLength byte di dati mascherati 3
char senza segno [MSR_TRACK_SIZE] Track4MaskedDataLength byte di dati mascherati 4
unsigned char Track1DiscretionaryDataLength
unsigned char Track2DiscretionaryDataLength
char senza segno [MSR_TRACK_SIZE] Track1DiscretionaryDataLength byte di dati di traccia discrezionale 1
char senza segno [MSR_TRACK_SIZE] Track2DiscretionaryDataLength byte di dati discrezionali traccia 2
unsigned char CardAuthenicationDataLength - lunghezza dei dati dopo la crittografia, inclusa la spaziatura interna
unsigned char CardAuthenticationDataAbsoluteLength - lunghezza dei dati prima della crittografia (potrebbe essere necessario stripare il riempimento durante la decrittografia)
char senza segno[MSR_ADDITIONAL_SECURITY_INFORMATION_DATA_SIZE] CardAuthenticationDataAbsoluteLength byte di dati di autenticazione della scheda
unsigned char AdditionalSecurityInformationLength
char senza segno[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] Byte aggiuntiviSecurityInformationLength di informazioni di sicurezza aggiuntive
wchar_T [MSR_ERROR_MAX_MESSAGE_LENGTH] Fino a MSR_ERROR_MAX_MESSAGE_LENGTH wchar_t di testo del messaggio con terminazione Null

Commenti

Se si verifica un errore di analisi e sono stati ottenuti alcuni dati di analisi, i dati dell'evento contengono i dati di analisi parziale.

Requisiti

Intestazione: pointofservicedriverinterface.h