Partilhar via


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