MagneticStripeReaderDataReceived
Peristiwa ini dinaikkan setelah peristiwa pemindaian magnetic stripe reader (MSR) yang sukses.
Sintaks
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;
Tabel berikut ini memperlihatkan tata letak memori buffer data untuk peristiwa ini.
Nilai memori | Deskripsi |
---|---|
0x00000008 | EventType = PosEventType:: MagneticStripeReaderDataReceived |
UINT32 | DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_DATA_RECEIVED) |
MsrCardType 32-bit | MsrCardType |
char yang tidak bertanda | Track1EncryptedDataLength - Akan selalu nol (0) jika MsrDataEncryptionMsrDataEncryption_None. |
char yang tidak bertanda | Track2EncryptedDataLength - Akan selalu nol (0) jika MsrDataEncryptionMsrDataEncryption_None. |
char yang tidak bertanda | Track3EncryptedDataLength - Akan selalu nol (0) jika MsrDataEncryptionMsrDataEncryption_None. |
char yang tidak bertanda | Track4EncryptedDataLength - Akan selalu nol (0) jika MsrDataEncryptionMsrDataEncryption_None. |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track1EncryptedDataLength dari data track 1 terenkripsi |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track2EncryptedDataLength dari data track 2 terenkripsi |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track3EncryptedDataLength dari data trek terenkripsi 3 |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track4EncryptedDataLength dari data track 4 terenkripsi |
char yang tidak bertanda | Track1MaskedDataLength |
char yang tidak bertanda | Track2MaskedDataLength |
char yang tidak bertanda | Track3MaskedDataLength |
char yang tidak bertanda | Track4MaskedDataLength |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Track1MaskedDataLength byte dari data trek bertopeng 1 |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track2MaskedDataLength dari data trek bertopeng 2 |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track3MaskedDataLength dari data trek bertopeng 3 |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Byte Track4MaskedDataLength dari data trek bertopeng 4 |
char yang tidak bertanda | Track1DiscretionaryDataLength – Akan selalu nol (0) jika MagneticStripeReaderIsDecodeDataEnabled salah. |
char yang tidak bertanda | Track2DiscretionaryDataLength– Akan selalu nol (0) jika MagneticStripeReaderIsDecodeDataEnabled adalah false. |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Track1DiscretionaryDataLength byte dari data trek diskresi 1 |
karakter tidak ditandatangani [MSR_TRACK_SIZE] | Track2DiscretionaryDataLength byte dari data trek diskresi 2 |
char yang tidak bertanda | CardAuthenicationDataLength - panjang data terenkripsi dalam byte, termasuk padding |
char yang tidak bertanda | CardAuthenticationDataAbsoluteLength - panjang data yang tidak terenkripsi dalam byte (Anda mungkin perlu menghapus padding selama dekripsi) |
karakter tidak ditandatangani[MSR_ADDITIONAL_SECURITY_INFORMATION_DATA_SIZE] | CardAuthenticationDataAbsoluteLength byte data autentikasi kartu |
char yang tidak bertanda | AdditionalSecurityInformationLength |
karakter tidak ditandatangani[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] | AdditionalSecurityInformationLength byte informasi keamanan tambahan |
Persyaratan
Header: pointofservicedriverinterface.h