Compartir a través de


MagneticStripeReaderDataReceived

Este evento se genera después de un evento de examen correcto del lector de bandas magnéticas (MSR).

Sintaxis

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;

En la tabla siguiente se muestra el diseño de memoria del búfer de datos para este evento.

Valor de memoria Descripción
0x00000008 EventType = PosEventType:: MagneticStripeReaderDataReceived
UINT32 DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_DATA_RECEIVED)
MsrCardType de 32 bits MsrCardType
unsigned char Track1EncryptedDataLength : siempre será cero (0) si MsrDataEncryption es MsrDataEncryption_None.
unsigned char Track2EncryptedDataLength : siempre será cero (0) si MsrDataEncryption es MsrDataEncryption_None.
unsigned char Track3EncryptedDataLength : siempre será cero (0) si MsrDataEncryption es MsrDataEncryption_None.
unsigned char Track4EncryptedDataLength : siempre será cero (0) si MsrDataEncryption es MsrDataEncryption_None.
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 : siempre será cero (0) si MagneticStripeReaderIsDecodeDataEnabled es false.
unsigned char Track2DiscretionaryDataLength: siempre será cero (0) si MagneticStripeReaderIsDecodeDataEnabled es false.
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 cifrados en bytes, incluido el relleno
unsigned char CardAuthenticationDataAbsoluteLength : longitud de los datos sin cifrar en bytes (es posible que tenga que quitar 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

Requisitos

Encabezado: pointofservicedriverinterface.h