MagneticStripeReaderErrorOccured
Este evento se produce cuando hay un error de lector de bandas magnéticas (MSR), como un error de examen.
Sintaxis
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;
En la tabla siguiente se muestra el diseño de memoria del búfer de datos para este evento.
Valor de memoria | Descripción |
---|---|
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 | Gravedad |
UnifiedPosErrorReason de 32 bits | Motivo |
UINT32 | Motivo extendido |
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 datos cifrados de seguimiento 1 |
unsigned char [MSR_TRACK_SIZE] | Track2EncryptedDataLength bytes de datos cifrados de seguimiento 2 |
unsigned char [MSR_TRACK_SIZE] | Track3EncryptedDataLength bytes de datos cifrados de seguimiento 3 |
unsigned char [MSR_TRACK_SIZE] | Track4EncryptedDataLength bytes de datos cifrados de seguimiento 4 |
unsigned char | Track1MaskedDataLength |
unsigned char | Track2MaskedDataLength |
unsigned char | Track3MaskedDataLength |
unsigned char | Track4MaskedDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1MaskedDataLength bytes de datos de seguimiento enmascarado 1 |
unsigned char [MSR_TRACK_SIZE] | Track2MaskedDataLength bytes de datos de seguimiento enmascarado 2 |
unsigned char [MSR_TRACK_SIZE] | Track3MaskedDataLength bytes de datos de seguimiento enmascarado 3 |
unsigned char [MSR_TRACK_SIZE] | Track4MaskedDataLength bytes de datos de seguimiento enmascarado 4 |
unsigned char | Track1DiscretionaryDataLength |
unsigned char | Track2DiscretionaryDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1DiscretionaryDataLength bytes de datos de seguimiento discrecional 1 |
unsigned char [MSR_TRACK_SIZE] | Track2DiscretionaryDataLength bytes de datos de seguimiento discrecional 2 |
unsigned char | CardAuthenicationDataLength : longitud de los datos después del cifrado, incluido el relleno |
unsigned char | CardAuthenticationDataAbsoluteLength : longitud de los datos antes del cifrado (puede ser necesario quitar el relleno durante el descifrado) |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_DATA_SIZE] | CardAuthenticationDataAbsoluteLength bytes de datos de autenticación de tarjeta |
unsigned char | AdditionalSecurityInformationLength |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] | Bytes AdditionalSecurityInformationLength de información de seguridad adicional |
wchar_T [MSR_ERROR_MAX_MESSAGE_LENGTH] | Hasta MSR_ERROR_MAX_MESSAGE_LENGTH wchar_t de texto de mensaje terminado en Null |
Observaciones
Si se produce un error de examen y se obtienen algunos datos de examen, los datos del evento contienen los datos de examen parciales.
Requisitos
Encabezado: pointofservicedriverinterface.h