Bagikan melalui


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