MagneticStripeReaderDataReceived
Questo evento viene generato dopo un evento di analisi msR (magnetic strip reader) riuscito.
Sintassi
typedef struct _MSR_DATA_RECEIVED {
MsrCardType CardType;
unsigned char Track1EncryptedDataLength;
unsigned char Track2EncryptedDataLength;
unsigned char Track3EncryptedDataLength;
unsigned char Track4EncryptedDataLength;
unsigned char Track1EncryptedData[MSR_TRACK_SIZE];
unsigned char Track2EncryptedData[MSR_TRACK_SIZE];
unsigned char Track3EncryptedData[MSR_TRACK_SIZE];
unsigned char Track4EncryptedData[MSR_TRACK_SIZE];
unsigned char Track1MaskedDataLength;
unsigned char Track2MaskedDataLength;
unsigned char Track3MaskedDataLength;
unsigned char Track4MaskedDataLength;
unsigned char Track1MaskedData[MSR_TRACK_SIZE];
unsigned char Track2MaskedData[MSR_TRACK_SIZE];
unsigned char Track3MaskedData[MSR_TRACK_SIZE];
unsigned char Track4MaskedData[MSR_TRACK_SIZE];
unsigned char Track1DiscretionaryDataLength;
unsigned char Track2DiscretionaryDataLength;
unsigned char Track1DiscretionaryData[MSR_TRACK_SIZE];
unsigned char Track2DiscretionaryData[MSR_TRACK_SIZE];
unsigned char CardAuthenicationDataLength; // Length of data after encryption, may include padding.
unsigned char CardAuthenticationDataAbsoluteLength; // Length of data before encryption, may be needed to strip padding on decryption.
unsigned char CardAuthenicationData[MSR_CARD_AUTHENTICATION_DATA_SIZE];
unsigned char AdditionalSecurityInformationLength;
unsigned char AdditionalSecurityInformation[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE];
} MSR_DATA_RECEIVED, *PMSR_DATA_RECEIVED;
Nella tabella seguente viene illustrato il layout di memoria del buffer di dati per questo evento.
Valore di memoria | Descrizione |
---|---|
0x00000008 | EventType = PosEventType:: MagneticStripeReaderDataReceived |
UINT32 | DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_DATA_RECEIVED) |
MsrCardType a 32 bit | MsrCardType |
unsigned char | Track1EncryptedDataLength : sarà sempre zero (0) se MsrDataEncryption è MsrDataEncryption_None. |
unsigned char | Track2EncryptedDataLength : sarà sempre zero (0) se MsrDataEncryption è MsrDataEncryption_None. |
unsigned char | Track3EncryptedDataLength : sarà sempre zero (0) se MsrDataEncryption è MsrDataEncryption_None. |
unsigned char | Track4EncryptedDataLength : sarà sempre zero (0) se MsrDataEncryption è MsrDataEncryption_None. |
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 : sarà sempre zero (0) se MagneticStripeReaderIsDecodeDataEnabled è false. |
unsigned char | Track2DiscretionaryDataLength: sarà sempre zero (0) se MagneticStripeReaderIsDecodeDataEnabled è false. |
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 crittografati in byte, inclusa la spaziatura interna |
unsigned char | CardAuthenticationDataAbsoluteLength - lunghezza dei dati non crittografati in byte (potrebbe essere necessario cancellare 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 |
Requisiti
Intestazione: pointofservicedriverinterface.h