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