MagneticStripeReaderErrorOccured
Peristiwa ini terjadi ketika ada kesalahan magnetic stripe reader (MSR), seperti kesalahan pemindaian.
Sintaks
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;
Tabel berikut ini memperlihatkan tata letak memori buffer data untuk peristiwa ini.
Nilai memori | Deskripsi |
---|---|
0x00000009 | EventType = PosEventType:: MagneticStripeReaderErrorOccurred |
UINT32 | DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_ERROR_EVENT) |
MsrTrackErrorType 32-bit | Track1Status |
MsrTrackErrorType 32-bit | Track2Status |
MsrTrackErrorType 32-bit | Track3Status |
MsrTrackErrorType 32-bit | Track4Status |
UnifiedPosErrorSeverity 32-bit | Keparahan |
UnifiedPosErrorReason 32-bit | Alasan |
UINT32 | Alasan Diperpanjang |
MsrCardType 32-bit | CardType |
char yang tidak bertanda | Track1EncryptedDataLength |
char yang tidak bertanda | Track2EncryptedDataLength |
char yang tidak bertanda | Track3EncryptedDataLength |
char yang tidak bertanda | Track4EncryptedDataLength |
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 |
char yang tidak bertanda | Track2DiscretionaryDataLength |
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 setelah enkripsi, termasuk padding |
char yang tidak bertanda | CardAuthenticationDataAbsoluteLength - panjang data sebelum enkripsi (mungkin diperlukan untuk strip 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 |
wchar_T [MSR_ERROR_MAX_MESSAGE_LENGTH] | Hingga MSR_ERROR_MAX_MESSAGE_LENGTH wchar_t kesalahan Teks pesan null-dihentikan |
Keterangan
Jika terjadi kesalahan pemindaian, dan beberapa data pemindaian diperoleh, data peristiwa berisi data pemindaian parsial.
Persyaratan
Header: pointofservicedriverinterface.h