MagneticStripeReaderErrorOccured
Esse evento ocorre quando há um erro msr (leitor de listras magnéticas), como um erro de verificação.
Sintaxe
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;
A tabela a seguir mostra o layout de memória do buffer de dados para esse evento.
Valor de memória | Descrição |
---|---|
0x00000009 | EventType = PosEventType:: MagneticStripeReaderErrorOccurred |
UINT32 | DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_ERROR_EVENT) |
MsrTrackErrorType de 32 bits | Track1Status |
MsrTrackErrorType de 32 bits | Track2Status |
MsrTrackErrorType de 32 bits | Track3Status |
MsrTrackErrorType de 32 bits | Track4Status |
UnifiedPosErrorSeverity de 32 bits | Gravidade |
UnifiedPosErrorReason de 32 bits | Motivo |
UINT32 | Motivo Estendido |
MsrCardType de 32 bits | CardType |
unsigned char | Track1EncryptedDataLength |
unsigned char | Track2EncryptedDataLength |
unsigned char | Track3EncryptedDataLength |
unsigned char | Track4EncryptedDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1EncryptedDataLength bytes de dados criptografados da faixa 1 |
unsigned char [MSR_TRACK_SIZE] | Track2EncryptedDataLength bytes de dados criptografados da faixa 2 |
unsigned char [MSR_TRACK_SIZE] | Track3EncryptedDataLength bytes de dados criptografados da faixa 3 |
unsigned char [MSR_TRACK_SIZE] | Track4EncryptedDataLength bytes de dados criptografados da faixa 4 |
unsigned char | Track1MaskedDataLength |
unsigned char | Track2MaskedDataLength |
unsigned char | Track3MaskedDataLength |
unsigned char | Track4MaskedDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1MaskedDataLength bytes de dados de faixa mascarada 1 |
unsigned char [MSR_TRACK_SIZE] | Track2MaskedDataLength bytes de dados de faixa mascarada 2 |
unsigned char [MSR_TRACK_SIZE] | Track3MaskedDataLength bytes de dados de faixa mascarada 3 |
unsigned char [MSR_TRACK_SIZE] | Track4MaskedDataLength bytes de dados de faixa mascarada 4 |
unsigned char | Track1DiscretionaryDataLength |
unsigned char | Track2DiscretionaryDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1DiscretionaryDataLength bytes de dados da faixa discricionária 1 |
unsigned char [MSR_TRACK_SIZE] | Track2DiscretionaryDataLength bytes de dados da faixa discricionária 2 |
unsigned char | CardAuthenicationDataLength - comprimento dos dados após a criptografia, incluindo preenchimento |
unsigned char | CardAuthenticationDataAbsoluteLength - comprimento dos dados antes da criptografia (pode ser necessário para remover o preenchimento durante a descriptografia) |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_DATA_SIZE] | CardAuthenticationDataAbsoluteLength bytes de dados de autenticação cartão |
unsigned char | AdditionalSecurityInformationLength |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] | Bytes AdditionalSecurityInformationLength de informações de segurança adicionais |
wchar_T [MSR_ERROR_MAX_MESSAGE_LENGTH] | Até MSR_ERROR_MAX_MESSAGE_LENGTH wchar_t de texto de mensagem terminada em nulo |
Comentários
Se ocorrer um erro de verificação e alguns dados de verificação forem obtidos, os dados do evento conterão os dados parciais de verificação.
Requisitos
Cabeçalho: pointofservicedriverinterface.h