MagneticStripeReaderDataReceived
Это событие возникает после успешного сканирования считывателя магнитных полос (MSR).
Синтаксис
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;
В следующей таблице показан макет памяти буфера данных для этого события.
Значение памяти | Описание |
---|---|
0x00000008 | EventType = PosEventType:: MagneticStripeReaderDataReceived |
UINT32 | DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_DATA_RECEIVED) |
32-разрядная версия MsrCardType | MsrCardType |
unsigned char | Track1EncryptedDataLength — всегда будет равно нулю (0), если msrDataEncryptionMsrDataEncryption_None. |
unsigned char | Track2EncryptedDataLength — всегда будет иметь значение ноль (0), если msrDataEncryptionMsrDataEncryption_None. |
unsigned char | Track3EncryptedDataLength — всегда будет иметь нулевое значение (0), если msrDataEncryptionMsrDataEncryption_None. |
unsigned char | Track4EncryptedDataLength — всегда будет иметь значение ноль (0), если msrDataEncryptionMsrDataEncryption_None. |
unsigned char [MSR_TRACK_SIZE] | Track1EncryptedDataLength байт зашифрованных данных track 1 |
unsigned char [MSR_TRACK_SIZE] | Track2EncryptedDataLength байт зашифрованных данных track 2 |
unsigned char [MSR_TRACK_SIZE] | Track3EncryptedDataLength байт зашифрованных данных track 3 |
unsigned char [MSR_TRACK_SIZE] | Track4EncryptedDataLength байт зашифрованных данных track 4 |
unsigned char | Track1MaskedDataLength |
unsigned char | Track2MaskedDataLength |
unsigned char | Track3MaskedDataLength |
unsigned char | Track4MaskedDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1MaskedDataLength байт данных маскированного трека 1 |
unsigned char [MSR_TRACK_SIZE] | Track2MaskedDataLength байт данных маскированного трека 2 |
unsigned char [MSR_TRACK_SIZE] | Track3MaskedDataLength байт данных маскированного трека 3 |
unsigned char [MSR_TRACK_SIZE] | Track4MaskedDataLength байт данных маскированного трека 4 |
unsigned char | Track1DiscretionaryDataLength — всегда будет иметь значение ноль (0), если значение MagneticStripeReaderIsDecodeDataEnabled равно false. |
unsigned char | Track2DiscretionaryDataLength — всегда будет равно нулю (0), если magneticStripeReaderIsDecodeDataEnabled имеет значение false. |
unsigned char [MSR_TRACK_SIZE] | Track1DiscretionaryDataLength байт данных дискреционной дорожки 1 |
unsigned char [MSR_TRACK_SIZE] | Track2DiscretionaryDataLength байт данных дискреционной дорожки 2 |
unsigned char | CardAuthenicationDataLength — длина зашифрованных данных в байтах, включая заполнение |
unsigned char | CardAuthenticationDataAbsoluteLength — длина незашифрованных данных в байтах (во время расшифровки может потребоваться чередование заполнения). |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_DATA_SIZE] | CardAuthenticationDataAbsoluteLengthbytes of карта authentication data |
unsigned char | AdditionalSecurityInformationLength |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] | AdditionalSecurityInformationLength байтов дополнительных сведений о безопасности |
Требования
Заголовок: pointofservicedriverinterface.h